[(set (reg FLAGS_REG)
(compare
(match_operand:SWI124 1 "nonimmediate_operand" "0")
- (match_operand:SWI124 2 "const_int_operand" "n")))
+ (match_operand:SWI124 2 "const_int_operand")))
(clobber (match_scratch:SWI124 0 "=<r>"))]
"ix86_match_ccmode (insn, CCGCmode)"
{
(eq:CCO (plus:<DWI>
(sign_extend:<DWI>
(match_operand:SWI 1 "nonimmediate_operand" "0"))
- (match_operand:<DWI> 3 "const_int_operand" "i"))
+ (match_operand:<DWI> 3 "const_int_operand"))
(sign_extend:<DWI>
(plus:SWI
(match_dup 1)
(plus:<QPWI>
(sign_extend:<QPWI>
(match_operand:<DWI> 1 "nonimmediate_operand" "%0"))
- (match_operand:<QPWI> 3 "const_scalar_int_operand" ""))
+ (match_operand:<QPWI> 3 "const_scalar_int_operand" "n"))
(sign_extend:<QPWI>
(plus:<DWI>
(match_dup 1)
[(match_operand 3 "flags_reg_operand") (const_int 0)])
(sign_extend:<DWI>
(match_operand:SWI 1 "nonimmediate_operand" "%0")))
- (match_operand:<DWI> 6 "const_int_operand" ""))
+ (match_operand:<DWI> 6 "const_int_operand" "n"))
(sign_extend:<DWI>
(plus:SWI
(plus:SWI
(any_or:SWI12
(ashift:SWI12
(match_operand:SWI12 1 "index_register_operand" "l")
- (match_operand 2 "const_0_to_3_operand" "n"))
- (match_operand 3 "const_int_operand" "n")))]
+ (match_operand 2 "const_0_to_3_operand"))
+ (match_operand 3 "const_int_operand")))]
"(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
&& ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
< (HOST_WIDE_INT_1U << INTVAL (operands[2])))"
(any_or:SWI48
(ashift:SWI48
(match_operand:SWI48 1 "index_register_operand" "l")
- (match_operand 2 "const_0_to_3_operand" "n"))
- (match_operand 3 "const_int_operand" "n")))]
+ (match_operand 2 "const_0_to_3_operand"))
+ (match_operand 3 "const_int_operand")))]
"(unsigned HOST_WIDE_INT) INTVAL (operands[3])
< (HOST_WIDE_INT_1U << INTVAL (operands[2]))"
"#"
(eq:CCO (minus:<DWI>
(sign_extend:<DWI>
(match_operand:SWI 1 "nonimmediate_operand" "0"))
- (match_operand:<DWI> 3 "const_int_operand" "i"))
+ (match_operand:<DWI> 3 "const_int_operand"))
(sign_extend:<DWI>
(minus:SWI
(match_dup 1)
(minus:<QPWI>
(sign_extend:<QPWI>
(match_operand:<DWI> 1 "nonimmediate_operand" "0"))
- (match_operand:<QPWI> 3 "const_scalar_int_operand" ""))
+ (match_operand:<QPWI> 3 "const_scalar_int_operand"))
(sign_extend:<QPWI>
(minus:<DWI>
(match_dup 1)
(match_operand:SWI 1 "nonimmediate_operand" "%0"))
(match_operator:<DWI> 4 "ix86_carry_flag_operator"
[(match_operand 3 "flags_reg_operand") (const_int 0)]))
- (match_operand:<DWI> 6 "const_int_operand" ""))
+ (match_operand:<DWI> 6 "const_int_operand" "n"))
(sign_extend:<DWI>
(minus:SWI
(minus:SWI
(match_operand:SWI48 1 "nonimmediate_operand" "%0"))
(match_operand:SWI48 2 "x86_64_immediate_operand" "e")))
(plus:<DWI>
- (match_operand:<DWI> 6 "const_scalar_int_operand" "")
+ (match_operand:<DWI> 6 "const_scalar_int_operand")
(match_operator:<DWI> 4 "ix86_carry_flag_operator"
[(match_dup 3) (const_int 0)]))))
(set (match_operand:SWI48 0 "nonimmediate_operand" "=rm")
(lshiftrt:<DWI>
(mult:<DWI> (zero_extend:<DWI> (match_dup 2))
(zero_extend:<DWI> (match_dup 3)))
- (match_operand:QI 4 "const_int_operand" "n"))))]
+ (match_operand:QI 4 "const_int_operand"))))]
"TARGET_BMI2 && INTVAL (operands[4]) == <MODE_SIZE> * BITS_PER_UNIT
&& !(MEM_P (operands[2]) && MEM_P (operands[3]))"
"mulx\t{%3, %0, %1|%1, %0, %3}"
(define_insn_and_split "*udivmod<mode>4_pow2"
[(set (match_operand:SWI48 0 "register_operand" "=r")
(udiv:SWI48 (match_operand:SWI48 2 "register_operand" "0")
- (match_operand:SWI48 3 "const_int_operand" "n")))
+ (match_operand:SWI48 3 "const_int_operand")))
(set (match_operand:SWI48 1 "register_operand" "=r")
(umod:SWI48 (match_dup 2) (match_dup 3)))
(clobber (reg:CC FLAGS_REG))]
[(set (match_operand:DI 0 "register_operand" "=r")
(zero_extend:DI
(udiv:SI (match_operand:SI 2 "register_operand" "0")
- (match_operand:SI 3 "const_int_operand" "n"))))
+ (match_operand:SI 3 "const_int_operand"))))
(set (match_operand:SI 1 "register_operand" "=r")
(umod:SI (match_dup 2) (match_dup 3)))
(clobber (reg:CC FLAGS_REG))]
[(set (match_operand:DI 1 "register_operand" "=r")
(zero_extend:DI
(umod:SI (match_operand:SI 2 "register_operand" "0")
- (match_operand:SI 3 "const_int_operand" "n"))))
+ (match_operand:SI 3 "const_int_operand"))))
(set (match_operand:SI 0 "register_operand" "=r")
(udiv:SI (match_dup 2) (match_dup 3)))
(clobber (reg:CC FLAGS_REG))]
;; Avoid sign-extension (using cdq) for constant numerators.
(define_insn_and_split "*divmodsi4_const"
[(set (match_operand:SI 0 "register_operand" "=&a")
- (div:SI (match_operand:SI 2 "const_int_operand" "n")
+ (div:SI (match_operand:SI 2 "const_int_operand")
(match_operand:SI 3 "nonimmediate_operand" "rm")))
(set (match_operand:SI 1 "register_operand" "=&d")
(mod:SI (match_dup 2) (match_dup 3)))
(match_operator 1 "compare_operator"
[(zero_extract:SWI248
(match_operand 2 "int_nonimmediate_operand" "rm")
- (match_operand 3 "const_int_operand" "n")
- (match_operand 4 "const_int_operand" "n"))
+ (match_operand 3 "const_int_operand")
+ (match_operand 4 "const_int_operand"))
(const_int 0)]))]
"/* Ensure that resulting mask is zero or sign extended operand. */
INTVAL (operands[4]) >= 0
(define_insn "*x86_64_shld_1"
[(set (match_operand:DI 0 "nonimmediate_operand" "+r*m")
(ior:DI (ashift:DI (match_dup 0)
- (match_operand:QI 2 "const_0_to_63_operand" "J"))
+ (match_operand:QI 2 "const_0_to_63_operand"))
(subreg:DI
(lshiftrt:TI
(zero_extend:TI
(match_operand:DI 1 "register_operand" "r"))
- (match_operand:QI 3 "const_0_to_255_operand" "N")) 0)))
+ (match_operand:QI 3 "const_0_to_255_operand")) 0)))
(clobber (reg:CC FLAGS_REG))]
"TARGET_64BIT
&& INTVAL (operands[3]) == 64 - INTVAL (operands[2])"
(define_insn "*x86_shld_1"
[(set (match_operand:SI 0 "nonimmediate_operand" "+r*m")
(ior:SI (ashift:SI (match_dup 0)
- (match_operand:QI 2 "const_0_to_31_operand" "I"))
+ (match_operand:QI 2 "const_0_to_31_operand"))
(subreg:SI
(lshiftrt:DI
(zero_extend:DI
(match_operand:SI 1 "register_operand" "r"))
- (match_operand:QI 3 "const_0_to_63_operand" "J")) 0)))
+ (match_operand:QI 3 "const_0_to_63_operand")) 0)))
(clobber (reg:CC FLAGS_REG))]
"INTVAL (operands[3]) == 32 - INTVAL (operands[2])"
"shld{l}\t{%2, %1, %0|%0, %1, %2}"
[(set (reg FLAGS_REG)
(compare
(ashift:SI (match_operand:SI 1 "register_operand" "0")
- (match_operand:QI 2 "const_1_to_31_operand" "I"))
+ (match_operand:QI 2 "const_1_to_31_operand"))
(const_int 0)))
(set (match_operand:DI 0 "register_operand" "=r")
(zero_extend:DI (ashift:SI (match_dup 1) (match_dup 2))))]
(define_insn "*x86_64_shrd_1"
[(set (match_operand:DI 0 "nonimmediate_operand" "+r*m")
(ior:DI (lshiftrt:DI (match_dup 0)
- (match_operand:QI 2 "const_0_to_63_operand" "J"))
+ (match_operand:QI 2 "const_0_to_63_operand"))
(subreg:DI
(ashift:TI
(zero_extend:TI
(match_operand:DI 1 "register_operand" "r"))
- (match_operand:QI 3 "const_0_to_255_operand" "N")) 0)))
+ (match_operand:QI 3 "const_0_to_255_operand")) 0)))
(clobber (reg:CC FLAGS_REG))]
"TARGET_64BIT
&& INTVAL (operands[3]) == 64 - INTVAL (operands[2])"
(define_insn "*x86_shrd_1"
[(set (match_operand:SI 0 "nonimmediate_operand" "+r*m")
(ior:SI (lshiftrt:SI (match_dup 0)
- (match_operand:QI 2 "const_0_to_31_operand" "I"))
+ (match_operand:QI 2 "const_0_to_31_operand"))
(subreg:SI
(ashift:DI
(zero_extend:DI
(match_operand:SI 1 "register_operand" "r"))
- (match_operand:QI 3 "const_0_to_63_operand" "J")) 0)))
+ (match_operand:QI 3 "const_0_to_63_operand")) 0)))
(clobber (reg:CC FLAGS_REG))]
"INTVAL (operands[3]) == 32 - INTVAL (operands[2])"
"shrd{l}\t{%2, %1, %0|%0, %1, %2}"
[(set (reg FLAGS_REG)
(compare
(any_shiftrt:SI (match_operand:SI 1 "register_operand" "0")
- (match_operand:QI 2 "const_1_to_31_operand" "I"))
+ (match_operand:QI 2 "const_1_to_31_operand"))
(const_int 0)))
(set (match_operand:DI 0 "register_operand" "=r")
(zero_extend:DI (any_shiftrt:SI (match_dup 1) (match_dup 2))))]
[(set (match_operand:DI 0 "register_operand" "=r")
(zero_extend:DI
(rotatert:SI (match_operand:SI 1 "nonimmediate_operand" "rm")
- (match_operand:QI 2 "const_0_to_31_operand" "I"))))]
+ (match_operand:QI 2 "const_0_to_31_operand"))))]
"TARGET_64BIT && TARGET_BMI2 && !optimize_function_for_size_p (cfun)"
"rorx\t{%2, %1, %k0|%k0, %1, %2}"
[(set_attr "type" "rotatex")
(define_insn "*btsq_imm"
[(set (zero_extract:DI (match_operand:DI 0 "nonimmediate_operand" "+rm")
(const_int 1)
- (match_operand 1 "const_0_to_63_operand" "J"))
+ (match_operand 1 "const_0_to_63_operand"))
(const_int 1))
(clobber (reg:CC FLAGS_REG))]
"TARGET_64BIT && (TARGET_USE_BT || reload_completed)"
(define_insn "*btrq_imm"
[(set (zero_extract:DI (match_operand:DI 0 "nonimmediate_operand" "+rm")
(const_int 1)
- (match_operand 1 "const_0_to_63_operand" "J"))
+ (match_operand 1 "const_0_to_63_operand"))
(const_int 0))
(clobber (reg:CC FLAGS_REG))]
"TARGET_64BIT && (TARGET_USE_BT || reload_completed)"
(define_insn "*btcq_imm"
[(set (zero_extract:DI (match_operand:DI 0 "nonimmediate_operand" "+rm")
(const_int 1)
- (match_operand 1 "const_0_to_63_operand" "J"))
+ (match_operand 1 "const_0_to_63_operand"))
(not:DI (zero_extract:DI (match_dup 0) (const_int 1) (match_dup 1))))
(clobber (reg:CC FLAGS_REG))]
"TARGET_64BIT && (TARGET_USE_BT || reload_completed)"
(unspec:QI
[(match_operand:HF 1 "register_operand" "v")
(match_operand:HF 2 "nonimmediate_operand" "vm")
- (match_operand:SI 3 "const_0_to_31_operand" "n")]
+ (match_operand:SI 3 "const_0_to_31_operand")]
UNSPEC_PCMP))]
"TARGET_AVX512FP16"
"vcmpsh\t{%3, %2, %1, %0|%0, %1, %2, %3}"
(zero_extract:SWI48
(match_operand:SWI48 1 "nonimmediate_operand" "rm")
(umin:SWI48 (and:SWI48 (match_dup 2) (const_int 255))
- (match_operand:SWI48 3 "const_int_operand" "n"))
+ (match_operand:SWI48 3 "const_int_operand"))
(const_int 0))
(const_int 0)))
(clobber (reg:CC FLAGS_REG))]
(zero_extract:SWI48
(match_operand:SWI48 1 "nonimmediate_operand" "rm")
(umin:SWI48 (zero_extend:SWI48 (match_dup 2))
- (match_operand:SWI48 3 "const_int_operand" "n"))
+ (match_operand:SWI48 3 "const_int_operand"))
(const_int 0))
(const_int 0)))
(clobber (reg:CC FLAGS_REG))]
(zero_extract:SWI48
(match_operand:SWI48 1 "nonimmediate_operand" "rm")
(umin:SWI48 (zero_extend:SWI48 (match_dup 2))
- (match_operand:SWI48 3 "const_int_operand" "n"))
+ (match_operand:SWI48 3 "const_int_operand"))
(const_int 0))
(const_int 0))
(const_int 0)))
[(set (match_operand:SWI48 0 "register_operand" "=r")
(zero_extract:SWI48
(match_operand:SWI48 1 "nonimmediate_operand" "rm")
- (match_operand 2 "const_0_to_255_operand" "N")
- (match_operand 3 "const_0_to_255_operand" "N")))
+ (match_operand 2 "const_0_to_255_operand")
+ (match_operand 3 "const_0_to_255_operand")))
(clobber (reg:CC FLAGS_REG))]
"TARGET_TBM"
{
[(set (match_operand:MODEFH 0 "register_operand" "=x,x,x,v,v")
(unspec:MODEFH
[(match_operand:MODEFH 1 "nonimmediate_operand" "0,x,m,v,m")
- (match_operand:SI 2 "const_0_to_15_operand" "n,n,n,n,n")]
+ (match_operand:SI 2 "const_0_to_15_operand")]
UNSPEC_ROUND))]
"TARGET_SSE4_1"
"@
(unspec_volatile:P [(match_operand:P 1 "register_operand" "0")]
UNSPECV_PROBE_STACK_RANGE))
(set (reg:P SP_REG)
- (minus:P (reg:P SP_REG) (match_operand:P 2 "const_int_operand" "n")))
+ (minus:P (reg:P SP_REG) (match_operand:P 2 "const_int_operand")))
(clobber (reg:CC FLAGS_REG))
(clobber (mem:BLK (scratch)))]
""
(define_insn "@probe_stack_range_<mode>"
[(set (match_operand:P 0 "register_operand" "=r")
(unspec_volatile:P [(match_operand:P 1 "register_operand" "0")
- (match_operand:P 2 "const_int_operand" "n")]
+ (match_operand:P 2 "const_int_operand")]
UNSPECV_PROBE_STACK_RANGE))
(clobber (reg:CC FLAGS_REG))]
""
(define_insn "*prefetch_3dnow"
[(prefetch (match_operand 0 "address_operand" "p")
- (match_operand:SI 1 "const_int_operand" "n")
+ (match_operand:SI 1 "const_int_operand")
(const_int 3))]
"TARGET_3DNOW || TARGET_PRFCHW || TARGET_PREFETCHWT1"
{
(define_insn "@lwp_lwpval<mode>"
[(unspec_volatile [(match_operand:SWI48 0 "register_operand" "r")
(match_operand:SI 1 "nonimmediate_operand" "rm")
- (match_operand:SI 2 "const_int_operand" "i")]
+ (match_operand:SI 2 "const_int_operand")]
UNSPECV_LWPVAL_INTRINSIC)]
"TARGET_LWP"
"lwpval\t{%2, %1, %0|%0, %1, %2}"
[(set (reg:CCC FLAGS_REG)
(unspec_volatile:CCC [(match_operand:SWI48 0 "register_operand" "r")
(match_operand:SI 1 "nonimmediate_operand" "rm")
- (match_operand:SI 2 "const_int_operand" "i")]
+ (match_operand:SI 2 "const_int_operand")]
UNSPECV_LWPINS_INTRINSIC))]
"TARGET_LWP"
"lwpins\t{%2, %1, %0|%0, %1, %2}"
(set_attr "length" "3")])
(define_insn "xabort"
- [(unspec_volatile [(match_operand:SI 0 "const_0_to_255_operand" "n")]
+ [(unspec_volatile [(match_operand:SI 0 "const_0_to_255_operand")]
UNSPECV_XABORT)]
"TARGET_RTM"
"xabort\t%0"
(match_operand:MODEFH 1 "memory_operand" "m"))
(match_operand:<ssevecmode> 2 "nonimm_or_0_operand" "0C")
(match_operand:QI 3 "register_operand" "Yk"))
- (match_operand:<ssevecmode> 4 "const0_operand" "C")
+ (match_operand:<ssevecmode> 4 "const0_operand")
(const_int 1)))]
"TARGET_AVX512F"
"vmov<ssescalarmodesuffix>\t{%1, %0%{%3%}%N2|%0%{3%}%N2, %1}"
(vec_select:<ssescalarmode>
(match_operand:VI8F_128 1 "nonimmediate_operand" "vm")
(parallel [(const_int 0)]))
- (match_operand:<ssescalarmode> 2 "const0_operand" "C")))]
+ (match_operand:<ssescalarmode> 2 "const0_operand")))]
"TARGET_SSE2"
"%vmovq\t{%1, %0|%0, %q1}"
[(set_attr "type" "ssemov")
[(set (match_operand:SWI1248_AVX512BWDQ 0 "register_operand" "=k")
(any_lshift:SWI1248_AVX512BWDQ
(match_operand:SWI1248_AVX512BWDQ 1 "register_operand" "k")
- (match_operand 2 "const_0_to_255_operand" "n")))
+ (match_operand 2 "const_0_to_255_operand")))
(unspec [(const_int 0)] UNSPEC_MASKOP)]
"TARGET_AVX512F"
"k<mshift><mskmodesuffix>\t{%2, %1, %0|%0, %1, %2}"
(unspec:VF_128_256
[(match_operand:VF_128_256 1 "register_operand" "x")
(match_operand:VF_128_256 2 "nonimmediate_operand" "xm")
- (match_operand:SI 3 "const_0_to_31_operand" "n")]
+ (match_operand:SI 3 "const_0_to_31_operand")]
UNSPEC_PCMP))]
"TARGET_AVX"
"vcmp<ssemodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
(unspec:VF_128
[(match_operand:VF_128 1 "register_operand" "x")
(match_operand:VF_128 2 "nonimmediate_operand" "xm")
- (match_operand:SI 3 "const_0_to_31_operand" "n")]
+ (match_operand:SI 3 "const_0_to_31_operand")]
UNSPEC_PCMP)
(match_dup 1)
(const_int 1)))]
(unspec:<V48H_AVX512VL:avx512fmaskmode>
[(match_operand:V48H_AVX512VL 1 "nonimmediate_operand")
(match_operand:V48H_AVX512VL 2 "nonimmediate_operand")
- (match_operand:SI 3 "const_0_to_7_operand" "n")]
+ (match_operand:SI 3 "const_0_to_7_operand")]
UNSPEC_PCMP)))]
"TARGET_AVX512F
&& (!VALID_MASK_AVX512BW_MODE (<SWI248x:MODE>mode) || TARGET_AVX512BW)
(unspec:<avx512fmaskmode>
[(match_operand:VI12_AVX512VL 1 "register_operand" "v")
(match_operand:VI12_AVX512VL 2 "nonimmediate_operand" "vm")
- (match_operand:SI 3 "const_0_to_7_operand" "n")]
+ (match_operand:SI 3 "const_0_to_7_operand")]
UNSPEC_UNSIGNED_PCMP))]
"TARGET_AVX512BW"
"vpcmpu<ssemodesuffix>\t{%3, %2, %1, %0<mask_scalar_merge_operand4>|%0<mask_scalar_merge_operand4>, %1, %2, %3}"
(unspec:<avx512fmaskmode>
[(match_operand:VI48_AVX512VL 1 "register_operand" "v")
(match_operand:VI48_AVX512VL 2 "nonimmediate_operand" "vm")
- (match_operand:SI 3 "const_0_to_7_operand" "n")]
+ (match_operand:SI 3 "const_0_to_7_operand")]
UNSPEC_UNSIGNED_PCMP))]
"TARGET_AVX512F"
"vpcmpu<ssemodesuffix>\t{%3, %2, %1, %0<mask_scalar_merge_operand4>|%0<mask_scalar_merge_operand4>, %1, %2, %3}"
(unspec:<avx512fmaskmode>
[(match_operand:VFH_128 1 "register_operand" "v")
(match_operand:VFH_128 2 "<round_saeonly_nimm_scalar_predicate>" "<round_saeonly_constraint>")
- (match_operand:SI 3 "const_0_to_31_operand" "n")]
+ (match_operand:SI 3 "const_0_to_31_operand")]
UNSPEC_PCMP)
(const_int 1)))]
"TARGET_AVX512F"
(unspec:<avx512fmaskmode>
[(match_operand:VFH_128 1 "register_operand" "v")
(match_operand:VFH_128 2 "<round_saeonly_nimm_scalar_predicate>" "<round_saeonly_constraint>")
- (match_operand:SI 3 "const_0_to_31_operand" "n")]
+ (match_operand:SI 3 "const_0_to_31_operand")]
UNSPEC_PCMP)
(and:<avx512fmaskmode>
(match_operand:<avx512fmaskmode> 4 "register_operand" "Yk")
(match_operand:VFH_128 1 "register_operand" "0,0")
(match_operand:VFH_128 2 "<round_nimm_scalar_predicate>" "<round_constraint>,v")
(match_operand:VFH_128 3 "<round_nimm_scalar_predicate>" "v,<round_constraint>"))
- (match_operand:VFH_128 4 "const0_operand" "C,C")
+ (match_operand:VFH_128 4 "const0_operand")
(match_operand:QI 5 "register_operand" "Yk,Yk"))
(match_dup 1)
(const_int 1)))]
(match_operand:VFH_128 2 "<round_nimm_scalar_predicate>" "<round_constraint>,v")
(neg:VFH_128
(match_operand:VFH_128 3 "<round_nimm_scalar_predicate>" "v,<round_constraint>")))
- (match_operand:VFH_128 4 "const0_operand" "C,C")
+ (match_operand:VFH_128 4 "const0_operand")
(match_operand:QI 5 "register_operand" "Yk,Yk"))
(match_dup 1)
(const_int 1)))]
(match_operand:VFH_128 2 "<round_nimm_scalar_predicate>" "<round_constraint>,v"))
(match_operand:VFH_128 1 "register_operand" "0,0")
(match_operand:VFH_128 3 "<round_nimm_scalar_predicate>" "v,<round_constraint>"))
- (match_operand:VFH_128 4 "const0_operand" "C,C")
+ (match_operand:VFH_128 4 "const0_operand")
(match_operand:QI 5 "register_operand" "Yk,Yk"))
(match_dup 1)
(const_int 1)))]
(match_operand:VFH_128 1 "register_operand" "0,0")
(neg:VFH_128
(match_operand:VFH_128 3 "<round_nimm_scalar_predicate>" "v,<round_constraint>")))
- (match_operand:VFH_128 4 "const0_operand" "C,C")
+ (match_operand:VFH_128 4 "const0_operand")
(match_operand:QI 5 "register_operand" "Yk,Yk"))
(match_dup 1)
(const_int 1)))]
[(set (match_operand:V8HF 0 "register_operand" "=v")
(vec_concat:V8HF
(any_float:V4HF (match_operand:VI4_128_8_256 1 "vector_operand" "vm"))
- (match_operand:V4HF 2 "const0_operand" "C")))]
+ (match_operand:V4HF 2 "const0_operand")))]
"TARGET_AVX512FP16 && TARGET_AVX512VL"
"vcvt<floatsuffix><sseintconvert>2ph<qq2phsuff>\t{%1, %0|%0, %1}"
[(set_attr "type" "ssecvt")
(match_operand:V8HF 2 "nonimm_or_0_operand" "0C")
(parallel [(const_int 0) (const_int 1) (const_int 2) (const_int 3)]))
(match_operand:QI 3 "register_operand" "Yk"))
- (match_operand:V4HF 4 "const0_operand" "C")))]
+ (match_operand:V4HF 4 "const0_operand")))]
"TARGET_AVX512FP16 && TARGET_AVX512VL"
"vcvt<floatsuffix><sseintconvert>2ph<qq2phsuff>\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}"
[(set_attr "type" "ssecvt")
(vec_merge:V4HF
(any_float:V4HF (match_operand:VI4_128_8_256 1
"vector_operand" "vm"))
- (match_operand:V4HF 3 "const0_operand" "C")
+ (match_operand:V4HF 3 "const0_operand")
(match_operand:QI 2 "register_operand" "Yk"))
- (match_operand:V4HF 4 "const0_operand" "C")))]
+ (match_operand:V4HF 4 "const0_operand")))]
"TARGET_AVX512FP16 && TARGET_AVX512VL"
"vcvt<floatsuffix><sseintconvert>2ph<qq2phsuff>\t{%1, %0%{%2%}%{z%}|%0%{%2%}%{z%}, %1}"
[(set_attr "type" "ssecvt")
[(set (match_operand:V8HF 0 "register_operand" "=v")
(vec_concat:V8HF
(any_float:V2HF (match_operand:V2DI 1 "vector_operand" "vm"))
- (match_operand:V6HF 2 "const0_operand" "C")))]
+ (match_operand:V6HF 2 "const0_operand")))]
"TARGET_AVX512FP16 && TARGET_AVX512VL"
"vcvt<floatsuffix>qq2ph{x}\t{%1, %0|%0, %1}"
[(set_attr "type" "ssecvt")
(match_operand:V8HF 2 "nonimm_or_0_operand" "0C")
(parallel [(const_int 0) (const_int 1)]))
(match_operand:QI 3 "register_operand" "Yk"))
- (match_operand:V6HF 4 "const0_operand" "C")))]
+ (match_operand:V6HF 4 "const0_operand")))]
"TARGET_AVX512FP16 && TARGET_AVX512VL"
"vcvt<floatsuffix>qq2ph{x}\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}"
[(set_attr "type" "ssecvt")
(vec_merge:V2HF
(any_float:V2HF (match_operand:V2DI 1
"vector_operand" "vm"))
- (match_operand:V2HF 3 "const0_operand" "C")
+ (match_operand:V2HF 3 "const0_operand")
(match_operand:QI 2 "register_operand" "Yk"))
- (match_operand:V6HF 4 "const0_operand" "C")))]
+ (match_operand:V6HF 4 "const0_operand")))]
"TARGET_AVX512FP16 && TARGET_AVX512VL"
"vcvt<floatsuffix>qq2ph{x}\t{%1, %0%{%2%}%{z%}|%0%{%2%}%{z%}, %1}"
[(set_attr "type" "ssecvt")
(vec_concat:V8HF
(float_truncate:V4HF
(match_operand:VF4_128_8_256 1 "vector_operand" "vm"))
- (match_operand:V4HF 2 "const0_operand" "C")))]
+ (match_operand:V4HF 2 "const0_operand")))]
"TARGET_AVX512FP16 && TARGET_AVX512VL"
"vcvt<castmode>2ph<ph2pssuffix><qq2phsuff>\t{%1, %0|%0, %1}"
[(set_attr "type" "ssecvt")
(parallel [(const_int 0) (const_int 1)
(const_int 2) (const_int 3)]))
(match_operand:QI 3 "register_operand" "Yk"))
- (match_operand:V4HF 4 "const0_operand" "C")))]
+ (match_operand:V4HF 4 "const0_operand")))]
"TARGET_AVX512FP16 && TARGET_AVX512VL"
"vcvt<castmode>2ph<ph2pssuffix><qq2phsuff>\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}"
[(set_attr "type" "ssecvt")
(vec_merge:V4HF
(float_truncate:V4HF
(match_operand:VF4_128_8_256 1 "vector_operand" "vm"))
- (match_operand:V4HF 3 "const0_operand" "C")
+ (match_operand:V4HF 3 "const0_operand")
(match_operand:QI 2 "register_operand" "Yk"))
- (match_operand:V4HF 4 "const0_operand" "C")))]
+ (match_operand:V4HF 4 "const0_operand")))]
"TARGET_AVX512FP16 && TARGET_AVX512VL"
"vcvt<castmode>2ph<ph2pssuffix><qq2phsuff>\t{%1, %0%{%2%}%{z%}|%0%{%2%}%{z%}, %1}"
[(set_attr "type" "ssecvt")
(vec_concat:V8HF
(float_truncate:V2HF
(match_operand:V2DF 1 "vector_operand" "vm"))
- (match_operand:V6HF 2 "const0_operand" "C")))]
+ (match_operand:V6HF 2 "const0_operand")))]
"TARGET_AVX512FP16 && TARGET_AVX512VL"
"vcvtpd2ph{x}\t{%1, %0|%0, %1}"
[(set_attr "type" "ssecvt")
(match_operand:V8HF 2 "nonimm_or_0_operand" "0C")
(parallel [(const_int 0) (const_int 1)]))
(match_operand:QI 3 "register_operand" "Yk"))
- (match_operand:V6HF 4 "const0_operand" "C")))]
+ (match_operand:V6HF 4 "const0_operand")))]
"TARGET_AVX512FP16 && TARGET_AVX512VL"
"vcvtpd2ph{x}\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}"
[(set_attr "type" "ssecvt")
(vec_merge:V2HF
(float_truncate:V2HF
(match_operand:V2DF 1 "vector_operand" "vm"))
- (match_operand:V2HF 3 "const0_operand" "C")
+ (match_operand:V2HF 3 "const0_operand")
(match_operand:QI 2 "register_operand" "Yk"))
- (match_operand:V6HF 4 "const0_operand" "C")))]
+ (match_operand:V6HF 4 "const0_operand")))]
"TARGET_AVX512FP16 && TARGET_AVX512VL"
"vcvtpd2ph{x}\t{%1, %0%{%2%}%{z%}|%0%{%2%}%{z%}, %1}"
[(set_attr "type" "ssecvt")
[(set (match_operand:V4SF 0 "register_operand" "=v")
(vec_concat:V4SF
(any_float:V2SF (match_operand:V2DI 1 "nonimmediate_operand" "vm"))
- (match_operand:V2SF 2 "const0_operand" "C")))]
+ (match_operand:V2SF 2 "const0_operand")))]
"TARGET_AVX512DQ && TARGET_AVX512VL"
"vcvt<floatsuffix>qq2ps{x}\t{%1, %0|%0, %1}"
[(set_attr "type" "ssecvt")
(match_operand:V4SF 2 "nonimm_or_0_operand" "0C")
(parallel [(const_int 0) (const_int 1)]))
(match_operand:QI 3 "register_operand" "Yk"))
- (match_operand:V2SF 4 "const0_operand" "C")))]
+ (match_operand:V2SF 4 "const0_operand")))]
"TARGET_AVX512DQ && TARGET_AVX512VL"
"vcvt<floatsuffix>qq2ps{x}\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}"
[(set_attr "type" "ssecvt")
(vec_merge:V2SF
(any_float:V2SF (match_operand:V2DI 1
"nonimmediate_operand" "vm"))
- (match_operand:V2SF 3 "const0_operand" "C")
+ (match_operand:V2SF 3 "const0_operand")
(match_operand:QI 2 "register_operand" "Yk"))
- (match_operand:V2SF 4 "const0_operand" "C")))]
+ (match_operand:V2SF 4 "const0_operand")))]
"TARGET_AVX512DQ && TARGET_AVX512VL"
"vcvt<floatsuffix>qq2ps{x}\t{%1, %0%{%2%}%{z%}|%0%{%2%}%{z%}, %1}"
[(set_attr "type" "ssecvt")
(vec_concat:V4SF
(float_truncate:V2SF
(match_operand:V2DF 1 "vector_operand" "vBm"))
- (match_operand:V2SF 2 "const0_operand" "C")))]
+ (match_operand:V2SF 2 "const0_operand")))]
"TARGET_SSE2"
{
if (TARGET_AVX)
(match_operand:V4SF 2 "nonimm_or_0_operand" "0C")
(parallel [(const_int 0) (const_int 1)]))
(match_operand:QI 3 "register_operand" "Yk"))
- (match_operand:V2SF 4 "const0_operand" "C")))]
+ (match_operand:V2SF 4 "const0_operand")))]
"TARGET_AVX512VL"
"vcvtpd2ps{x}\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}"
[(set_attr "type" "ssecvt")
(vec_merge:V2SF
(float_truncate:V2SF
(match_operand:V2DF 1 "nonimmediate_operand" "vm"))
- (match_operand:V2SF 3 "const0_operand" "C")
+ (match_operand:V2SF 3 "const0_operand")
(match_operand:QI 2 "register_operand" "Yk"))
- (match_operand:V2SF 4 "const0_operand" "C")))]
+ (match_operand:V2SF 4 "const0_operand")))]
"TARGET_AVX512VL"
"vcvtpd2ps{x}\t{%1, %0%{%2%}%{z%}|%0%{%2%}%{z%}, %1}"
[(set_attr "type" "ssecvt")
[(set (match_operand:V4SF 0 "register_operand" "=v")
(vec_concat:V4SF
(match_operand:V2SF 1 "nonimmediate_operand" "vm")
- (match_operand:V2SF 2 "const0_operand" " C")))]
+ (match_operand:V2SF 2 "const0_operand")))]
"TARGET_SSE2"
"%vmovq\t{%1, %0|%0, %1}"
[(set_attr "type" "ssemov")
(vec_merge:VI2F_256_512
(vec_duplicate:VI2F_256_512
(match_operand:<ssescalarmode> 2 "nonimmediate_operand" "r,m"))
- (match_operand:VI2F_256_512 1 "const0_operand" "C,C")
+ (match_operand:VI2F_256_512 1 "const0_operand")
(const_int 1)))]
"TARGET_AVX512FP16"
"@
(vec_merge:VI4F_256_512
(vec_duplicate:VI4F_256_512
(match_operand:<ssescalarmode> 2 "nonimmediate_operand" "v,m,r"))
- (match_operand:VI4F_256_512 1 "const0_operand" "C,C,C")
+ (match_operand:VI4F_256_512 1 "const0_operand")
(const_int 1)))]
"TARGET_AVX"
"@
[(set (match_operand:V4SF 0 "register_operand" "=Yr,*x,v")
(unspec:V4SF [(match_operand:V4SF 2 "nonimmediate_operand" "Yrm,*xm,vm")
(match_operand:V4SF 1 "register_operand" "0,0,v")
- (match_operand:SI 3 "const_0_to_255_operand" "n,n,n")]
+ (match_operand:SI 3 "const_0_to_255_operand")]
UNSPEC_INSERTPS))]
"TARGET_SSE4_1"
{
[(set (match_operand:SF 0 "nonimmediate_operand" "=rm,rm,rm,Yv,Yv")
(vec_select:SF
(match_operand:V4SF 1 "register_operand" "Yr,*x,v,0,v")
- (parallel [(match_operand:SI 2 "const_0_to_3_operand" "n,n,n,n,n")])))]
+ (parallel [(match_operand:SI 2 "const_0_to_3_operand")])))]
"TARGET_SSE4_1"
"@
extractps\t{%2, %1, %0|%0, %1, %2}
[(set (match_operand:SF 0 "register_operand" "=v,*r,f")
(vec_select:SF
(match_operand:V4SF 1 "memory_operand" "o,o,o")
- (parallel [(match_operand 2 "const_0_to_3_operand" "n,n,n")])))]
+ (parallel [(match_operand 2 "const_0_to_3_operand")])))]
"TARGET_SSE"
"#"
"&& reload_completed"
(vec_merge:VF2_512_256
(vec_duplicate:VF2_512_256
(match_operand:<ssescalarmode> 2 "nonimmediate_operand" "vm"))
- (match_operand:VF2_512_256 1 "const0_operand" "C")
+ (match_operand:VF2_512_256 1 "const0_operand")
(const_int 1)))]
"TARGET_AVX"
"vmovq\t{%2, %x0|%x0, %2}"
[(set (match_operand:VIMAX_AVX512VL 0 "register_operand" "=v")
(any_lshift:VIMAX_AVX512VL
(match_operand:VIMAX_AVX512VL 1 "nonimmediate_operand" "vm")
- (match_operand:SI 2 "const_0_to_255_mul_8_operand" "n")))]
+ (match_operand:SI 2 "const_0_to_255_mul_8_operand")))]
"TARGET_AVX512BW"
{
operands[2] = GEN_INT (INTVAL (operands[2]) / 8);
[(set (match_operand:VIMAX_AVX2 0 "register_operand" "=x,Yw")
(any_lshift:VIMAX_AVX2
(match_operand:VIMAX_AVX2 1 "register_operand" "0,Yw")
- (match_operand:SI 2 "const_0_to_255_mul_8_operand" "n,n")))]
+ (match_operand:SI 2 "const_0_to_255_mul_8_operand")))]
"TARGET_SSE2"
{
operands[2] = GEN_INT (INTVAL (operands[2]) / 8);
(match_operand:AVX512_VEC 1 "reg_or_0_operand" "v,C,C")
(vec_duplicate:AVX512_VEC
(match_operand:<ssequartermode> 2 "nonimmediate_operand" "vm,xm,vm"))
- (match_operand:SI 3 "const_int_operand" "n,n,n")))]
+ (match_operand:SI 3 "const_int_operand")))]
"TARGET_AVX512F
&& (INTVAL (operands[3])
== (GET_MODE_UNIT_SIZE (<MODE>mode) == 4 ? 0xFFF0 : 0xFC))"
(match_operand:AVX512_VEC 1 "register_operand" "v")
(vec_duplicate:AVX512_VEC
(match_operand:<ssequartermode> 2 "nonimmediate_operand" "vm"))
- (match_operand:SI 3 "const_int_operand" "n")))]
+ (match_operand:SI 3 "const_int_operand")))]
"TARGET_AVX512F"
{
int mask;
[(set (match_operand:V32HI 0 "register_operand" "=v")
(unspec:V32HI
[(match_operand:V32HI 1 "nonimmediate_operand" "vm")
- (match_operand:SI 2 "const_0_to_255_operand" "n")]
+ (match_operand:SI 2 "const_0_to_255_operand")]
UNSPEC_PSHUFLW))]
"TARGET_AVX512BW"
"vpshuflw\t{%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2}"
[(set (match_operand:V32HI 0 "register_operand" "=v")
(unspec:V32HI
[(match_operand:V32HI 1 "nonimmediate_operand" "vm")
- (match_operand:SI 2 "const_0_to_255_operand" "n")]
+ (match_operand:SI 2 "const_0_to_255_operand")]
UNSPEC_PSHUFHW))]
"TARGET_AVX512BW"
"vpshufhw\t{%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2}"
[(set (match_operand:VI124_128 0 "register_operand" "=v,x")
(vec_concat:VI124_128
(match_operand:<ssehalfvecmode> 1 "nonimmediate_operand" "vm,?!*y")
- (match_operand:<ssehalfvecmode> 2 "const0_operand" " C,C")))]
+ (match_operand:<ssehalfvecmode> 2 "const0_operand")))]
"TARGET_SSE2"
"@
%vmovq\t{%1, %0|%0, %1}
[(set (match_operand:V2DI 0 "register_operand" "=v,v ,x")
(vec_concat:V2DI
(match_operand:DI 1 "nonimmediate_operand" " r,vm,?!*y")
- (match_operand:DI 2 "const0_operand" " C,C ,C")))]
+ (match_operand:DI 2 "const0_operand")))]
"TARGET_SSE2"
"@
* return HAVE_AS_IX86_INTERUNIT_MOVQ ? \"%vmovq\t{%1, %0|%0, %1}\" : \"%vmovd\t{%1, %0|%0, %1}\";
(vec_merge:VI8_AVX_AVX512F
(vec_duplicate:VI8_AVX_AVX512F
(match_operand:<ssescalarmode> 2 "nonimmediate_operand" "r,vm"))
- (match_operand:VI8_AVX_AVX512F 1 "const0_operand" "C,C")
+ (match_operand:VI8_AVX_AVX512F 1 "const0_operand")
(const_int 1)))]
"TARGET_AVX"
"vmovq\t{%2, %x0|%x0, %2}"
(unspec:SI
[(lt:VF_128_256
(match_operand:<sseintvecmode> 1 "register_operand" "x")
- (match_operand:<sseintvecmode> 2 "const0_operand" "C"))]
+ (match_operand:<sseintvecmode> 2 "const0_operand"))]
UNSPEC_MOVMSK))]
"TARGET_SSE"
"#"
(unspec:SI
[(lt:VF_128_256
(match_operand:<sseintvecmode> 1 "register_operand" "x")
- (match_operand:<sseintvecmode> 2 "const0_operand" "C"))]
+ (match_operand:<sseintvecmode> 2 "const0_operand"))]
UNSPEC_MOVMSK)))]
"TARGET_64BIT && TARGET_SSE"
"#"
[(subreg:VF_128_256
(ashiftrt:<sseintvecmode>
(match_operand:<sseintvecmode> 1 "register_operand" "x")
- (match_operand:QI 2 "const_int_operand" "n")) 0)]
+ (match_operand:QI 2 "const_int_operand")) 0)]
UNSPEC_MOVMSK))]
"TARGET_SSE"
"#"
[(subreg:VF_128_256
(ashiftrt:<sseintvecmode>
(match_operand:<sseintvecmode> 1 "register_operand" "x")
- (match_operand:QI 2 "const_int_operand" "n")) 0)]
+ (match_operand:QI 2 "const_int_operand")) 0)]
UNSPEC_MOVMSK)))]
"TARGET_64BIT && TARGET_SSE"
"#"
[(set (match_operand:SI 0 "register_operand" "=r")
(unspec:SI
[(lt:VI1_AVX2 (match_operand:VI1_AVX2 1 "register_operand" "x")
- (match_operand:VI1_AVX2 2 "const0_operand" "C"))]
+ (match_operand:VI1_AVX2 2 "const0_operand"))]
UNSPEC_MOVMSK))]
"TARGET_SSE2"
"#"
(zero_extend:DI
(unspec:SI
[(lt:VI1_AVX2 (match_operand:VI1_AVX2 1 "register_operand" "x")
- (match_operand:VI1_AVX2 2 "const0_operand" "C"))]
+ (match_operand:VI1_AVX2 2 "const0_operand"))]
UNSPEC_MOVMSK)))]
"TARGET_64BIT && TARGET_SSE2"
"#"
(sign_extend:DI
(unspec:SI
[(lt:V16QI (match_operand:V16QI 1 "register_operand" "x")
- (match_operand:V16QI 2 "const0_operand" "C"))]
+ (match_operand:V16QI 2 "const0_operand"))]
UNSPEC_MOVMSK)))]
"TARGET_64BIT && TARGET_SSE2"
"#"
(unspec:VI1_AVX512
[(match_operand:VI1_AVX512 1 "register_operand" "v")
(match_operand:VI1_AVX512 2 "nonimmediate_operand" "vm")
- (match_operand:SI 3 "const_0_to_255_mul_8_operand" "n")]
+ (match_operand:SI 3 "const_0_to_255_mul_8_operand")]
UNSPEC_PALIGNR)
(match_operand:VI1_AVX512 4 "nonimm_or_0_operand" "0C")
(match_operand:<avx512fmaskmode> 5 "register_operand" "Yk")))]
(unspec:SSESCALARMODE
[(match_operand:SSESCALARMODE 1 "register_operand" "0,<v_Yw>")
(match_operand:SSESCALARMODE 2 "vector_operand" "xBm,<v_Yw>m")
- (match_operand:SI 3 "const_0_to_255_mul_8_operand" "n,n")]
+ (match_operand:SI 3 "const_0_to_255_mul_8_operand")]
UNSPEC_PALIGNR))]
"TARGET_SSSE3"
{
[(set (match_operand:DI 0 "register_operand" "=y,x,Yv")
(unspec:DI [(match_operand:DI 1 "register_operand" "0,0,Yv")
(match_operand:DI 2 "register_mmxmem_operand" "ym,x,Yv")
- (match_operand:SI 3 "const_0_to_255_mul_8_operand" "n,n,n")]
+ (match_operand:SI 3 "const_0_to_255_mul_8_operand")]
UNSPEC_PALIGNR))]
"(TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3"
{
(match_operand:VF_128_256 2 "vector_operand" "YrBm,*xBm,xm")
(lt:VF_128_256
(match_operand:<sseintvecmode> 3 "register_operand" "Yz,Yz,x")
- (match_operand:<sseintvecmode> 4 "const0_operand" "C,C,C"))]
+ (match_operand:<sseintvecmode> 4 "const0_operand"))]
UNSPEC_BLENDV))]
"TARGET_SSE4_1"
"#"
(subreg:<ssebytemode>
(lt:VI48_AVX
(match_operand:VI48_AVX 3 "register_operand" "Yz,Yz,x")
- (match_operand:VI48_AVX 4 "const0_operand" "C,C,C")) 0)]
+ (match_operand:VI48_AVX 4 "const0_operand")) 0)]
UNSPEC_BLENDV))]
"TARGET_SSE4_1"
"#"
(unspec:VF_128_256
[(match_operand:VF_128_256 1 "vector_operand" "%0,0,x")
(match_operand:VF_128_256 2 "vector_operand" "YrBm,*xBm,xm")
- (match_operand:SI 3 "const_0_to_255_operand" "n,n,n")]
+ (match_operand:SI 3 "const_0_to_255_operand")]
UNSPEC_DP))]
"TARGET_SSE4_1"
"@
(unspec:VI1_AVX2
[(match_operand:VI1_AVX2 1 "register_operand" "0,0,x")
(match_operand:VI1_AVX2 2 "vector_operand" "YrBm,*xBm,xm")
- (match_operand:SI 3 "const_0_to_255_operand" "n,n,n")]
+ (match_operand:SI 3 "const_0_to_255_operand")]
UNSPEC_MPSADBW))]
"TARGET_SSE4_1"
"@
[(match_operand:VI1_AVX2 1 "register_operand" "0,0,x")
(match_operand:VI1_AVX2 2 "vector_operand" "YrBm,*xBm,xm")
(lt:VI1_AVX2 (match_operand:VI1_AVX2 3 "register_operand" "Yz,Yz,x")
- (match_operand:VI1_AVX2 4 "const0_operand" "C,C,C"))]
+ (match_operand:VI1_AVX2 4 "const0_operand"))]
UNSPEC_BLENDV))]
"TARGET_SSE4_1"
"#"
(vec_merge:V8_128
(match_operand:V8_128 2 "vector_operand" "YrBm,*xBm,xm")
(match_operand:V8_128 1 "register_operand" "0,0,x")
- (match_operand:SI 3 "const_0_to_255_operand" "n,n,n")))]
+ (match_operand:SI 3 "const_0_to_255_operand")))]
"TARGET_SSE4_1"
"@
pblendw\t{%3, %2, %0|%0, %2, %3}
(vec_merge:V16_256
(match_operand:V16_256 2 "nonimmediate_operand" "xm")
(match_operand:V16_256 1 "register_operand" "x")
- (match_operand:SI 3 "avx2_pblendw_operand" "n")))]
+ (match_operand:SI 3 "avx2_pblendw_operand")))]
"TARGET_AVX2"
{
operands[3] = GEN_INT (INTVAL (operands[3]) & 0xff);
(vec_merge:VI4_AVX2
(match_operand:VI4_AVX2 2 "nonimmediate_operand" "xm")
(match_operand:VI4_AVX2 1 "register_operand" "x")
- (match_operand:SI 3 "const_0_to_255_operand" "n")))]
+ (match_operand:SI 3 "const_0_to_255_operand")))]
"TARGET_AVX2"
"vpblendd\t{%3, %2, %1, %0|%0, %1, %2, %3}"
[(set_attr "type" "ssemov")
(vec_select:V32QI
(vec_concat:V64QI
(match_operand:V32QI 1 "nonimmediate_operand" "vm")
- (match_operand:V32QI 2 "const0_operand" "C"))
+ (match_operand:V32QI 2 "const0_operand"))
(match_parallel 3 "pmovzx_parallel"
- [(match_operand 4 "const_int_operand" "n")])))]
+ [(match_operand 4 "const_int_operand")])))]
"TARGET_AVX2"
"#"
"&& reload_completed"
(subreg:V32QI
(vec_concat:VI248_256
(match_operand:<ssehalfvecmode> 1 "nonimmediate_operand" "vm")
- (match_operand:<ssehalfvecmode> 2 "const0_operand" "C")) 0)
- (match_operand:V32QI 3 "const0_operand" "C"))
+ (match_operand:<ssehalfvecmode> 2 "const0_operand")) 0)
+ (match_operand:V32QI 3 "const0_operand"))
(match_parallel 4 "pmovzx_parallel"
- [(match_operand 5 "const_int_operand" "n")])))]
+ [(match_operand 5 "const_int_operand")])))]
"TARGET_AVX2"
"#"
"&& reload_completed"
(vec_select:V64QI
(vec_concat:V128QI
(match_operand:V64QI 1 "nonimmediate_operand" "vm")
- (match_operand:V64QI 2 "const0_operand" "C"))
+ (match_operand:V64QI 2 "const0_operand"))
(match_parallel 3 "pmovzx_parallel"
- [(match_operand 4 "const_int_operand" "n")])))]
+ [(match_operand 4 "const_int_operand")])))]
"TARGET_AVX512BW"
"#"
"&& reload_completed"
(subreg:V64QI
(vec_concat:VI248_512
(match_operand:<ssehalfvecmode> 1 "nonimmediate_operand" "vm")
- (match_operand:<ssehalfvecmode> 2 "const0_operand" "C")) 0)
- (match_operand:V64QI 3 "const0_operand" "C"))
+ (match_operand:<ssehalfvecmode> 2 "const0_operand")) 0)
+ (match_operand:V64QI 3 "const0_operand"))
(match_parallel 4 "pmovzx_parallel"
- [(match_operand 5 "const_int_operand" "n")])))]
+ [(match_operand 5 "const_int_operand")])))]
"TARGET_AVX512BW"
"#"
"&& reload_completed"
(vec_select:V16QI
(vec_concat:V32QI
(match_operand:V16QI 1 "vector_operand" "YrBm,*xBm,Ywm")
- (match_operand:V16QI 2 "const0_operand" "C,C,C"))
+ (match_operand:V16QI 2 "const0_operand"))
(match_parallel 3 "pmovzx_parallel"
- [(match_operand 4 "const_int_operand" "n,n,n")])))]
+ [(match_operand 4 "const_int_operand")])))]
"TARGET_SSE4_1"
"#"
"&& reload_completed"
(subreg:V16QI
(vec_concat:VI248_128
(match_operand:<ssehalfvecmode> 1 "vector_operand" "YrBm,*xBm,Ywm")
- (match_operand:<ssehalfvecmode> 2 "const0_operand" "C,C,C")) 0)
- (match_operand:V16QI 3 "const0_operand" "C,C,C"))
+ (match_operand:<ssehalfvecmode> 2 "const0_operand")) 0)
+ (match_operand:V16QI 3 "const0_operand"))
(match_parallel 4 "pmovzx_parallel"
- [(match_operand 5 "const_int_operand" "n,n,n")])))]
+ [(match_operand 5 "const_int_operand")])))]
"TARGET_SSE4_1"
"#"
"&& reload_completed"
(vec_select:V32HI
(vec_concat:V64HI
(match_operand:V32HI 1 "nonimmediate_operand" "vm")
- (match_operand:V32HI 2 "const0_operand" "C"))
+ (match_operand:V32HI 2 "const0_operand"))
(match_parallel 3 "pmovzx_parallel"
- [(match_operand 4 "const_int_operand" "n")])))]
+ [(match_operand 4 "const_int_operand")])))]
"TARGET_AVX512F"
"#"
"&& reload_completed"
(subreg:V32HI
(vec_concat:VI148_512
(match_operand:<ssehalfvecmode> 1 "nonimmediate_operand" "vm")
- (match_operand:<ssehalfvecmode> 2 "const0_operand" "C")) 0)
- (match_operand:V32HI 3 "const0_operand" "C"))
+ (match_operand:<ssehalfvecmode> 2 "const0_operand")) 0)
+ (match_operand:V32HI 3 "const0_operand"))
(match_parallel 4 "pmovzx_parallel"
- [(match_operand 5 "const_int_operand" "n")])))]
+ [(match_operand 5 "const_int_operand")])))]
"TARGET_AVX512F"
"#"
"&& reload_completed"
(vec_select:V16HI
(vec_concat:V32HI
(match_operand:V16HI 1 "nonimmediate_operand" "vm")
- (match_operand:V16HI 2 "const0_operand" "C"))
+ (match_operand:V16HI 2 "const0_operand"))
(match_parallel 3 "pmovzx_parallel"
- [(match_operand 4 "const_int_operand" "n")])))]
+ [(match_operand 4 "const_int_operand")])))]
"TARGET_AVX2"
"#"
"&& reload_completed"
(subreg:V16HI
(vec_concat:VI148_256
(match_operand:<ssehalfvecmode> 1 "nonimmediate_operand" "vm")
- (match_operand:<ssehalfvecmode> 2 "const0_operand" "C")) 0)
- (match_operand:V16HI 3 "const0_operand" "C"))
+ (match_operand:<ssehalfvecmode> 2 "const0_operand")) 0)
+ (match_operand:V16HI 3 "const0_operand"))
(match_parallel 4 "pmovzx_parallel"
- [(match_operand 5 "const_int_operand" "n")])))]
+ [(match_operand 5 "const_int_operand")])))]
"TARGET_AVX2"
"#"
"&& reload_completed"
(vec_select:V8HI
(vec_concat:V16HI
(match_operand:V8HI 1 "vector_operand" "YrBm,*xBm,vm")
- (match_operand:V8HI 2 "const0_operand" "C,C,C"))
+ (match_operand:V8HI 2 "const0_operand"))
(match_parallel 3 "pmovzx_parallel"
- [(match_operand 4 "const_int_operand" "n,n,n")])))]
+ [(match_operand 4 "const_int_operand")])))]
"TARGET_SSE4_1"
"#"
"&& reload_completed"
(subreg:V8HI
(vec_concat:VI148_128
(match_operand:<ssehalfvecmode> 1 "vector_operand" "YrBm,*xBm,vm")
- (match_operand:<ssehalfvecmode> 2 "const0_operand" "C,C,C")) 0)
- (match_operand:V8HI 3 "const0_operand" "C,C,C"))
+ (match_operand:<ssehalfvecmode> 2 "const0_operand")) 0)
+ (match_operand:V8HI 3 "const0_operand"))
(match_parallel 4 "pmovzx_parallel"
- [(match_operand 5 "const_int_operand" "n,n,n")])))]
+ [(match_operand 5 "const_int_operand")])))]
"TARGET_SSE4_1"
"#"
"&& reload_completed"
(vec_select:V16SI
(vec_concat:V32SI
(match_operand:V16SI 1 "nonimmediate_operand" "vm")
- (match_operand:V16SI 2 "const0_operand" "C"))
+ (match_operand:V16SI 2 "const0_operand"))
(match_parallel 3 "pmovzx_parallel"
- [(match_operand 4 "const_int_operand" "n")])))]
+ [(match_operand 4 "const_int_operand")])))]
"TARGET_AVX512F"
"#"
"&& reload_completed"
(vec_concat:V32SI
(vec_concat:V16SI
(match_operand:V8SI 1 "nonimmediate_operand" "vm")
- (match_operand:V8SI 2 "const0_operand" "C"))
- (match_operand:V16SI 3 "const0_operand" "C"))
+ (match_operand:V8SI 2 "const0_operand"))
+ (match_operand:V16SI 3 "const0_operand"))
(match_parallel 4 "pmovzx_parallel"
- [(match_operand 5 "const_int_operand" "n")])))]
+ [(match_operand 5 "const_int_operand")])))]
"TARGET_AVX512F"
"#"
"&& reload_completed"
(vec_select:V8SI
(vec_concat:V16SI
(match_operand:V8SI 1 "nonimmediate_operand" "vm")
- (match_operand:V8SI 2 "const0_operand" "C"))
+ (match_operand:V8SI 2 "const0_operand"))
(match_parallel 3 "pmovzx_parallel"
- [(match_operand 4 "const_int_operand" "n")])))]
+ [(match_operand 4 "const_int_operand")])))]
"TARGET_AVX2"
"#"
"&& reload_completed"
(vec_concat:V16SI
(vec_concat:V8SI
(match_operand:V4SI 1 "nonimmediate_operand" "vm")
- (match_operand:V4SI 2 "const0_operand" "C"))
- (match_operand:V8SI 3 "const0_operand" "C"))
+ (match_operand:V4SI 2 "const0_operand"))
+ (match_operand:V8SI 3 "const0_operand"))
(match_parallel 4 "pmovzx_parallel"
- [(match_operand 5 "const_int_operand" "n")])))]
+ [(match_operand 5 "const_int_operand")])))]
"TARGET_AVX2"
"#"
"&& reload_completed"
(vec_select:V4SI
(vec_concat:V8SI
(match_operand:V4SI 1 "vector_operand" "YrBm,*xBm,vm")
- (match_operand:V4SI 2 "const0_operand" "C,C,C"))
+ (match_operand:V4SI 2 "const0_operand"))
(match_parallel 3 "pmovzx_parallel"
- [(match_operand 4 "const_int_operand" "n,n,n")])))]
+ [(match_operand 4 "const_int_operand")])))]
"TARGET_SSE4_1"
"#"
"&& reload_completed"
(vec_concat:V8SI
(vec_concat:V4SI
(match_operand:V2SI 1 "vector_operand" "YrBm, *xBm, vm")
- (match_operand:V2SI 2 "const0_operand" "C,C,C"))
- (match_operand:V4SI 3 "const0_operand" "C,C,C"))
+ (match_operand:V2SI 2 "const0_operand"))
+ (match_operand:V4SI 3 "const0_operand"))
(match_parallel 4 "pmovzx_parallel"
- [(match_operand 5 "const_int_operand" "n,n,n")])))]
+ [(match_operand 5 "const_int_operand")])))]
"TARGET_SSE4_1"
"#"
"&& reload_completed"
[(set (match_operand:VF_128_256 0 "register_operand" "=Yr,*x,x")
(unspec:VF_128_256
[(match_operand:VF_128_256 1 "vector_operand" "YrBm,*xBm,xm")
- (match_operand:SI 2 "const_0_to_15_operand" "n,n,n")]
+ (match_operand:SI 2 "const_0_to_15_operand")]
UNSPEC_ROUND))]
"TARGET_SSE4_1"
"%vround<ssemodesuffix>\t{%2, %1, %0|%0, %1, %2}"
(vec_merge:VF_128
(unspec:VF_128
[(match_operand:VF_128 2 "nonimmediate_operand" "Yrm,*xm,xm,vm")
- (match_operand:SI 3 "const_0_to_15_operand" "n,n,n,n")]
+ (match_operand:SI 3 "const_0_to_15_operand")]
UNSPEC_ROUND)
(match_operand:VF_128 1 "register_operand" "0,0,x,v")
(const_int 1)))]
(vec_duplicate:VFH_128
(unspec:<ssescalarmode>
[(match_operand:<ssescalarmode> 2 "nonimmediate_operand" "Yrm,*xm,xm,vm")
- (match_operand:SI 3 "const_0_to_15_operand" "n,n,n,n")]
+ (match_operand:SI 3 "const_0_to_15_operand")]
UNSPEC_ROUND))
(match_operand:VFH_128 1 "register_operand" "0,0,x,v")
(const_int 1)))]
(match_operand:SI 3 "register_operand" "a,a")
(match_operand:V16QI 4 "nonimmediate_operand" "x,m")
(match_operand:SI 5 "register_operand" "d,d")
- (match_operand:SI 6 "const_0_to_255_operand" "n,n")]
+ (match_operand:SI 6 "const_0_to_255_operand")]
UNSPEC_PCMPESTR))
(set (match_operand:V16QI 1 "register_operand" "=Yz,Yz")
(unspec:V16QI
(match_operand:SI 2 "register_operand" "a,a")
(match_operand:V16QI 3 "nonimmediate_operand" "x,m")
(match_operand:SI 4 "register_operand" "d,d")
- (match_operand:SI 5 "const_0_to_255_operand" "n,n")]
+ (match_operand:SI 5 "const_0_to_255_operand")]
UNSPEC_PCMPESTR))
(set (reg:CC FLAGS_REG)
(unspec:CC
(match_operand:SI 2 "register_operand" "a,a")
(match_operand:V16QI 3 "nonimmediate_operand" "x,m")
(match_operand:SI 4 "register_operand" "d,d")
- (match_operand:SI 5 "const_0_to_255_operand" "n,n")]
+ (match_operand:SI 5 "const_0_to_255_operand")]
UNSPEC_PCMPESTR))
(set (reg:CC FLAGS_REG)
(unspec:CC
(match_operand:SI 3 "register_operand" "a,a,a,a")
(match_operand:V16QI 4 "nonimmediate_operand" "x,m,x,m")
(match_operand:SI 5 "register_operand" "d,d,d,d")
- (match_operand:SI 6 "const_0_to_255_operand" "n,n,n,n")]
+ (match_operand:SI 6 "const_0_to_255_operand")]
UNSPEC_PCMPESTR))
(clobber (match_scratch:V16QI 0 "=Yz,Yz,X,X"))
(clobber (match_scratch:SI 1 "= X, X,c,c"))]
(unspec:SI
[(match_operand:V16QI 2 "register_operand" "x,x")
(match_operand:V16QI 3 "nonimmediate_operand" "x,m")
- (match_operand:SI 4 "const_0_to_255_operand" "n,n")]
+ (match_operand:SI 4 "const_0_to_255_operand")]
UNSPEC_PCMPISTR))
(set (match_operand:V16QI 1 "register_operand" "=Yz,Yz")
(unspec:V16QI
(unspec:SI
[(match_operand:V16QI 1 "register_operand" "x,x")
(match_operand:V16QI 2 "nonimmediate_operand" "x,m")
- (match_operand:SI 3 "const_0_to_255_operand" "n,n")]
+ (match_operand:SI 3 "const_0_to_255_operand")]
UNSPEC_PCMPISTR))
(set (reg:CC FLAGS_REG)
(unspec:CC
(unspec:V16QI
[(match_operand:V16QI 1 "register_operand" "x,x")
(match_operand:V16QI 2 "nonimmediate_operand" "x,m")
- (match_operand:SI 3 "const_0_to_255_operand" "n,n")]
+ (match_operand:SI 3 "const_0_to_255_operand")]
UNSPEC_PCMPISTR))
(set (reg:CC FLAGS_REG)
(unspec:CC
(unspec:CC
[(match_operand:V16QI 2 "register_operand" "x,x,x,x")
(match_operand:V16QI 3 "nonimmediate_operand" "x,m,x,m")
- (match_operand:SI 4 "const_0_to_255_operand" "n,n,n,n")]
+ (match_operand:SI 4 "const_0_to_255_operand")]
UNSPEC_PCMPISTR))
(clobber (match_scratch:V16QI 0 "=Yz,Yz,X,X"))
(clobber (match_scratch:SI 1 "= X, X,c,c"))]
[(unspec:P
[(match_operand:P 2 "vsib_address_operand" "Tv")
(match_operand:VI48_512 1 "register_operand" "v")
- (match_operand:SI 3 "const1248_operand" "n")]
+ (match_operand:SI 3 "const1248_operand")]
UNSPEC_VSIBADDR)])
- (match_operand:SI 4 "const_2_to_3_operand" "n")]
+ (match_operand:SI 4 "const_2_to_3_operand")]
UNSPEC_GATHER_PREFETCH)]
"TARGET_AVX512PF"
{
[(unspec:P
[(match_operand:P 2 "vsib_address_operand" "Tv")
(match_operand:VI4_256_8_512 1 "register_operand" "v")
- (match_operand:SI 3 "const1248_operand" "n")]
+ (match_operand:SI 3 "const1248_operand")]
UNSPEC_VSIBADDR)])
- (match_operand:SI 4 "const_2_to_3_operand" "n")]
+ (match_operand:SI 4 "const_2_to_3_operand")]
UNSPEC_GATHER_PREFETCH)]
"TARGET_AVX512PF"
{
[(unspec:P
[(match_operand:P 2 "vsib_address_operand" "Tv")
(match_operand:VI48_512 1 "register_operand" "v")
- (match_operand:SI 3 "const1248_operand" "n")]
+ (match_operand:SI 3 "const1248_operand")]
UNSPEC_VSIBADDR)])
- (match_operand:SI 4 "const2367_operand" "n")]
+ (match_operand:SI 4 "const2367_operand")]
UNSPEC_SCATTER_PREFETCH)]
"TARGET_AVX512PF"
{
[(unspec:P
[(match_operand:P 2 "vsib_address_operand" "Tv")
(match_operand:VI4_256_8_512 1 "register_operand" "v")
- (match_operand:SI 3 "const1248_operand" "n")]
+ (match_operand:SI 3 "const1248_operand")]
UNSPEC_VSIBADDR)])
- (match_operand:SI 4 "const2367_operand" "n")]
+ (match_operand:SI 4 "const2367_operand")]
UNSPEC_SCATTER_PREFETCH)]
"TARGET_AVX512PF"
{
[(set (match_operand:VI_128 0 "register_operand" "=x")
(rotate:VI_128
(match_operand:VI_128 1 "nonimmediate_operand" "xm")
- (match_operand:SI 2 "const_0_to_<sserotatemax>_operand" "n")))]
+ (match_operand:SI 2 "const_0_to_<sserotatemax>_operand")))]
"TARGET_XOP"
"vprot<ssemodesuffix>\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "type" "sseishft")
[(set (match_operand:VI_128 0 "register_operand" "=x")
(rotatert:VI_128
(match_operand:VI_128 1 "nonimmediate_operand" "xm")
- (match_operand:SI 2 "const_0_to_<sserotatemax>_operand" "n")))]
+ (match_operand:SI 2 "const_0_to_<sserotatemax>_operand")))]
"TARGET_XOP"
{
operands[3]
(unspec:VI_128
[(match_operand:VI_128 1 "register_operand" "x")
(match_operand:VI_128 2 "nonimmediate_operand" "xm")
- (match_operand:SI 3 "const_int_operand" "n")]
+ (match_operand:SI 3 "const_int_operand")]
UNSPEC_XOP_TRUEFALSE))]
"TARGET_XOP"
{
[(match_operand:VF_128_256 1 "register_operand" "x,x")
(match_operand:VF_128_256 2 "nonimmediate_operand" "x,m")
(match_operand:<sseintvecmode> 3 "nonimmediate_operand" "xm,x")
- (match_operand:SI 4 "const_0_to_3_operand" "n,n")]
+ (match_operand:SI 4 "const_0_to_3_operand")]
UNSPEC_VPERMIL2))]
"TARGET_XOP"
"vpermil2<ssemodesuffix>\t{%4, %3, %2, %1, %0|%0, %1, %2, %3, %4}"
(define_insn "aeskeygenassist"
[(set (match_operand:V2DI 0 "register_operand" "=x")
(unspec:V2DI [(match_operand:V2DI 1 "vector_operand" "xBm")
- (match_operand:SI 2 "const_0_to_255_operand" "n")]
+ (match_operand:SI 2 "const_0_to_255_operand")]
UNSPEC_AESKEYGENASSIST))]
"TARGET_AES"
"%vaeskeygenassist\t{%2, %1, %0|%0, %1, %2}"
[(set (match_operand:V2DI 0 "register_operand" "=x,x")
(unspec:V2DI [(match_operand:V2DI 1 "register_operand" "0,x")
(match_operand:V2DI 2 "vector_operand" "xBm,xm")
- (match_operand:SI 3 "const_0_to_255_operand" "n,n")]
+ (match_operand:SI 3 "const_0_to_255_operand")]
UNSPEC_PCLMUL))]
"TARGET_PCLMUL"
"@
(unspec:V4DI
[(match_operand:V4DI 1 "register_operand" "x")
(match_operand:V4DI 2 "nonimmediate_operand" "xm")
- (match_operand:SI 3 "const_0_to_255_operand" "n")]
+ (match_operand:SI 3 "const_0_to_255_operand")]
UNSPEC_VPERMTI))]
"TARGET_AVX2"
"vperm2i128\t{%3, %2, %1, %0|%0, %1, %2, %3}"
(unspec:AVX256MODE2P
[(match_operand:AVX256MODE2P 1 "register_operand" "x")
(match_operand:AVX256MODE2P 2 "nonimmediate_operand" "xm")
- (match_operand:SI 3 "const_0_to_255_operand" "n")]
+ (match_operand:SI 3 "const_0_to_255_operand")]
UNSPEC_VPERMIL2F128))]
"TARGET_AVX"
"vperm2<i128>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
(vec_select:V_128
(match_operand:V_128 1 "register_operand" "0,Yw")
(match_parallel 2 "palignr_operand"
- [(match_operand 3 "const_int_operand" "n,n")])))]
+ [(match_operand 3 "const_int_operand")])))]
"TARGET_SSSE3"
{
operands[2] = (GEN_INT (INTVAL (operands[3])
[(set (match_operand:V8HI 0 "register_operand" "=v")
(vec_concat:V8HI
(unspec:V4HI [(match_operand:V4SF 1 "register_operand" "v")
- (match_operand:SI 2 "const_0_to_255_operand" "N")]
+ (match_operand:SI 2 "const_0_to_255_operand")]
UNSPEC_VCVTPS2PH)
(match_operand:V4HI 3 "const0_operand")))]
"(TARGET_F16C || TARGET_AVX512VL) && <mask_avx512vl_condition>"
(define_insn "*vcvtps2ph_store<merge_mask_name>"
[(set (match_operand:V4HI 0 "memory_operand" "=m")
(unspec:V4HI [(match_operand:V4SF 1 "register_operand" "v")
- (match_operand:SI 2 "const_0_to_255_operand" "N")]
+ (match_operand:SI 2 "const_0_to_255_operand")]
UNSPEC_VCVTPS2PH))]
"TARGET_F16C || TARGET_AVX512VL"
"vcvtps2ph\t{%2, %1, %0<merge_mask_operand3>|%0<merge_mask_operand3>, %1, %2}"
(define_insn "vcvtps2ph256<mask_name>"
[(set (match_operand:V8HI 0 "register_operand" "=v")
(unspec:V8HI [(match_operand:V8SF 1 "register_operand" "v")
- (match_operand:SI 2 "const_0_to_255_operand" "N")]
+ (match_operand:SI 2 "const_0_to_255_operand")]
UNSPEC_VCVTPS2PH))]
"TARGET_F16C || TARGET_AVX512VL"
"vcvtps2ph\t{%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2}"
(define_insn "*vcvtps2ph256<merge_mask_name>"
[(set (match_operand:V8HI 0 "memory_operand" "=m")
(unspec:V8HI [(match_operand:V8SF 1 "register_operand" "v")
- (match_operand:SI 2 "const_0_to_255_operand" "N")]
+ (match_operand:SI 2 "const_0_to_255_operand")]
UNSPEC_VCVTPS2PH))]
"TARGET_F16C || TARGET_AVX512VL"
"vcvtps2ph\t{%2, %1, %0<merge_mask_operand3>|%0<merge_mask_operand3>, %1, %2}"
[(set (match_operand:V16HI 0 "register_operand" "=v")
(unspec:V16HI
[(match_operand:V16SF 1 "register_operand" "v")
- (match_operand:SI 2 "const_0_to_255_operand" "N")]
+ (match_operand:SI 2 "const_0_to_255_operand")]
UNSPEC_VCVTPS2PH))]
"TARGET_AVX512F"
"vcvtps2ph\t{%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2}"
[(set (match_operand:V16HI 0 "memory_operand" "=m")
(unspec:V16HI
[(match_operand:V16SF 1 "register_operand" "v")
- (match_operand:SI 2 "const_0_to_255_operand" "N")]
+ (match_operand:SI 2 "const_0_to_255_operand")]
UNSPEC_VCVTPS2PH))]
"TARGET_AVX512F"
"vcvtps2ph\t{%2, %1, %0<merge_mask_operand3>|%0<merge_mask_operand3>, %1, %2}"
[(unspec:P
[(match_operand:P 3 "vsib_address_operand" "Tv")
(match_operand:<VEC_GATHER_IDXSI> 4 "register_operand" "x")
- (match_operand:SI 6 "const1248_operand" "n")]
+ (match_operand:SI 6 "const1248_operand")]
UNSPEC_VSIBADDR)])
(mem:BLK (scratch))
(match_operand:VEC_GATHER_MODE 5 "register_operand" "1")]
[(unspec:P
[(match_operand:P 2 "vsib_address_operand" "Tv")
(match_operand:<VEC_GATHER_IDXSI> 3 "register_operand" "x")
- (match_operand:SI 5 "const1248_operand" "n")]
+ (match_operand:SI 5 "const1248_operand")]
UNSPEC_VSIBADDR)])
(mem:BLK (scratch))
(match_operand:VEC_GATHER_MODE 4 "register_operand" "1")]
[(unspec:P
[(match_operand:P 3 "vsib_address_operand" "Tv")
(match_operand:<VEC_GATHER_IDXDI> 4 "register_operand" "x")
- (match_operand:SI 6 "const1248_operand" "n")]
+ (match_operand:SI 6 "const1248_operand")]
UNSPEC_VSIBADDR)])
(mem:BLK (scratch))
(match_operand:<VEC_GATHER_SRCDI> 5 "register_operand" "1")]
[(unspec:P
[(match_operand:P 2 "vsib_address_operand" "Tv")
(match_operand:<VEC_GATHER_IDXDI> 3 "register_operand" "x")
- (match_operand:SI 5 "const1248_operand" "n")]
+ (match_operand:SI 5 "const1248_operand")]
UNSPEC_VSIBADDR)])
(mem:BLK (scratch))
(match_operand:<VEC_GATHER_SRCDI> 4 "register_operand" "1")]
[(unspec:P
[(match_operand:P 3 "vsib_address_operand" "Tv")
(match_operand:<VEC_GATHER_IDXDI> 4 "register_operand" "x")
- (match_operand:SI 6 "const1248_operand" "n")]
+ (match_operand:SI 6 "const1248_operand")]
UNSPEC_VSIBADDR)])
(mem:BLK (scratch))
(match_operand:<VEC_GATHER_SRCDI> 5 "register_operand" "1")]
[(unspec:P
[(match_operand:P 2 "vsib_address_operand" "Tv")
(match_operand:<VEC_GATHER_IDXDI> 3 "register_operand" "x")
- (match_operand:SI 5 "const1248_operand" "n")]
+ (match_operand:SI 5 "const1248_operand")]
UNSPEC_VSIBADDR)])
(mem:BLK (scratch))
(match_operand:<VEC_GATHER_SRCDI> 4 "register_operand" "1")]
[(unspec:P
[(match_operand:P 4 "vsib_address_operand" "Tv")
(match_operand:<VEC_GATHER_IDXSI> 3 "register_operand" "v")
- (match_operand:SI 5 "const1248_operand" "n")]
+ (match_operand:SI 5 "const1248_operand")]
UNSPEC_VSIBADDR)])]
UNSPEC_GATHER))
(clobber (match_scratch:<avx512fmaskmode> 2 "=&Yk"))]
[(unspec:P
[(match_operand:P 3 "vsib_address_operand" "Tv")
(match_operand:<VEC_GATHER_IDXSI> 2 "register_operand" "v")
- (match_operand:SI 4 "const1248_operand" "n")]
+ (match_operand:SI 4 "const1248_operand")]
UNSPEC_VSIBADDR)])]
UNSPEC_GATHER))
(clobber (match_scratch:<avx512fmaskmode> 1 "=&Yk"))]
[(unspec:P
[(match_operand:P 4 "vsib_address_operand" "Tv")
(match_operand:<VEC_GATHER_IDXDI> 3 "register_operand" "v")
- (match_operand:SI 5 "const1248_operand" "n")]
+ (match_operand:SI 5 "const1248_operand")]
UNSPEC_VSIBADDR)])]
UNSPEC_GATHER))
(clobber (match_scratch:QI 2 "=&Yk"))]
[(unspec:P
[(match_operand:P 3 "vsib_address_operand" "Tv")
(match_operand:<VEC_GATHER_IDXDI> 2 "register_operand" "v")
- (match_operand:SI 4 "const1248_operand" "n")]
+ (match_operand:SI 4 "const1248_operand")]
UNSPEC_VSIBADDR)])]
UNSPEC_GATHER))
(clobber (match_scratch:QI 1 "=&Yk"))]
[(unspec:P
[(match_operand:P 0 "vsib_address_operand" "Tv")
(match_operand:<VEC_GATHER_IDXSI> 2 "register_operand" "v")
- (match_operand:SI 4 "const1248_operand" "n")
+ (match_operand:SI 4 "const1248_operand")
(match_operand:<avx512fmaskmode> 6 "register_operand" "1")]
UNSPEC_VSIBADDR)])
(unspec:VI48F
[(unspec:P
[(match_operand:P 0 "vsib_address_operand" "Tv")
(match_operand:<VEC_GATHER_IDXDI> 2 "register_operand" "v")
- (match_operand:SI 4 "const1248_operand" "n")
+ (match_operand:SI 4 "const1248_operand")
(match_operand:QI 6 "register_operand" "1")]
UNSPEC_VSIBADDR)])
(unspec:VI48F
[(set (match_operand:<avx512fmaskmode> 0 "register_operand" "=k")
(unspec:<avx512fmaskmode>
[(match_operand:VFH_AVX512VL 1 "vector_operand" "vm")
- (match_operand 2 "const_0_to_255_operand" "n")]
+ (match_operand 2 "const_0_to_255_operand")]
UNSPEC_FPCLASS))]
"TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(<MODE>mode)"
"vfpclass<ssemodesuffix><vecmemsuffix>\t{%2, %1, %0<mask_scalar_merge_operand3>|%0<mask_scalar_merge_operand3>, %1, %2}";
(and:<avx512fmaskmode>
(unspec:<avx512fmaskmode>
[(match_operand:VFH_128 1 "nonimmediate_operand" "vm")
- (match_operand 2 "const_0_to_255_operand" "n")]
+ (match_operand 2 "const_0_to_255_operand")]
UNSPEC_FPCLASS)
(const_int 1)))]
"TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(<MODE>mode)"
(unspec:V4SI
[(match_operand:V4SI 1 "register_operand" "0")
(match_operand:V4SI 2 "vector_operand" "xBm")
- (match_operand:SI 3 "const_0_to_3_operand" "n")]
+ (match_operand:SI 3 "const_0_to_3_operand")]
UNSPEC_SHA1RNDS4))]
"TARGET_SHA"
"sha1rnds4\t{%3, %2, %0|%0, %2, %3}"
[(match_operand:V16SF 1 "register_operand" "0")
(match_operand:V64SF 2 "register_operand" "v")
(match_operand:V4SF 3 "memory_operand" "m")] UNSPEC_VP4FMADD)
- (match_operand:V16SF 4 "const0_operand" "C")
+ (match_operand:V16SF 4 "const0_operand")
(match_operand:HI 5 "register_operand" "Yk")))]
"TARGET_AVX5124FMAPS"
"v4fmaddps\t{%3, %g2, %0%{%5%}%{z%}|%0%{%5%}%{z%}, %g2, %3}"
[(match_operand:V4SF 1 "register_operand" "0")
(match_operand:V64SF 2 "register_operand" "v")
(match_operand:V4SF 3 "memory_operand" "m")] UNSPEC_VP4FMADD)
- (match_operand:V4SF 4 "const0_operand" "C")
+ (match_operand:V4SF 4 "const0_operand")
(match_operand:QI 5 "register_operand" "Yk")))]
"TARGET_AVX5124FMAPS"
"v4fmaddss\t{%3, %x2, %0%{%5%}%{z%}|%0%{%5%}%{z%}, %x2, %3}"
[(match_operand:V16SF 1 "register_operand" "0")
(match_operand:V64SF 2 "register_operand" "v")
(match_operand:V4SF 3 "memory_operand" "m")] UNSPEC_VP4FNMADD)
- (match_operand:V16SF 4 "const0_operand" "C")
+ (match_operand:V16SF 4 "const0_operand")
(match_operand:HI 5 "register_operand" "Yk")))]
"TARGET_AVX5124FMAPS"
"v4fnmaddps\t{%3, %g2, %0%{%5%}%{z%}|%0%{%5%}%{z%}, %g2, %3}"
[(match_operand:V4SF 1 "register_operand" "0")
(match_operand:V64SF 2 "register_operand" "v")
(match_operand:V4SF 3 "memory_operand" "m")] UNSPEC_VP4FNMADD)
- (match_operand:V4SF 4 "const0_operand" "C")
+ (match_operand:V4SF 4 "const0_operand")
(match_operand:QI 5 "register_operand" "Yk")))]
"TARGET_AVX5124FMAPS"
"v4fnmaddss\t{%3, %x2, %0%{%5%}%{z%}|%0%{%5%}%{z%}, %x2, %3}"
[(match_operand:V16SI 1 "register_operand" "0")
(match_operand:V64SI 2 "register_operand" "v")
(match_operand:V4SI 3 "memory_operand" "m")] UNSPEC_VP4DPWSSD)
- (match_operand:V16SI 4 "const0_operand" "C")
+ (match_operand:V16SI 4 "const0_operand")
(match_operand:HI 5 "register_operand" "Yk")))]
"TARGET_AVX5124VNNIW"
"vp4dpwssd\t{%3, %g2, %0%{%5%}%{z%}|%0%{%5%}%{z%}, %g2, %3}"
[(match_operand:V16SI 1 "register_operand" "0")
(match_operand:V64SI 2 "register_operand" "v")
(match_operand:V4SI 3 "memory_operand" "m")] UNSPEC_VP4DPWSSDS)
- (match_operand:V16SI 4 "const0_operand" "C")
+ (match_operand:V16SI 4 "const0_operand")
(match_operand:HI 5 "register_operand" "Yk")))]
"TARGET_AVX5124VNNIW"
"vp4dpwssds\t{%3, %g2, %0%{%5%}%{z%}|%0%{%5%}%{z%}, %g2, %3}"
(unspec:VI1_AVX512F
[(match_operand:VI1_AVX512F 1 "register_operand" "0,v")
(match_operand:VI1_AVX512F 2 "vector_operand" "xBm,vm")
- (match_operand 3 "const_0_to_255_operand" "n,n")]
+ (match_operand 3 "const_0_to_255_operand")]
UNSPEC_GF2P8AFFINEINV))]
"TARGET_GFNI"
"@
(unspec:VI1_AVX512F
[(match_operand:VI1_AVX512F 1 "register_operand" "0,v")
(match_operand:VI1_AVX512F 2 "vector_operand" "xBm,vm")
- (match_operand 3 "const_0_to_255_operand" "n,n")]
+ (match_operand 3 "const_0_to_255_operand")]
UNSPEC_GF2P8AFFINE))]
"TARGET_GFNI"
"@
(unspec:VI248_AVX512VL
[(match_operand:VI248_AVX512VL 1 "register_operand" "v")
(match_operand:VI248_AVX512VL 2 "nonimmediate_operand" "vm")
- (match_operand:SI 3 "const_0_to_255_operand" "n")]
+ (match_operand:SI 3 "const_0_to_255_operand")]
UNSPEC_VPSHRD))]
"TARGET_AVX512VBMI2"
"vpshrd<ssemodesuffix>\t{%3, %2, %1, %0<mask_operand4>|%0<mask_operand4>, %1, %2, %3 }"
(unspec:VI248_AVX512VL
[(match_operand:VI248_AVX512VL 1 "register_operand" "v")
(match_operand:VI248_AVX512VL 2 "nonimmediate_operand" "vm")
- (match_operand:SI 3 "const_0_to_255_operand" "n")]
+ (match_operand:SI 3 "const_0_to_255_operand")]
UNSPEC_VPSHLD))]
"TARGET_AVX512VBMI2"
"vpshld<ssemodesuffix>\t{%3, %2, %1, %0<mask_operand4>|%0<mask_operand4>, %1, %2, %3 }"
(match_operand:VI248_AVX512VL 2 "register_operand" "v")
(match_operand:VI248_AVX512VL 3 "nonimmediate_operand" "vm")]
UNSPEC_VPSHRDV)
- (match_operand:VI248_AVX512VL 4 "const0_operand" "C")
+ (match_operand:VI248_AVX512VL 4 "const0_operand")
(match_operand:<avx512fmaskmode> 5 "register_operand" "Yk")))]
"TARGET_AVX512VBMI2"
"vpshrdv<ssemodesuffix>\t{%3, %2, %0%{%5%}%{z%}|%0%{%5%}%{z%}, %2, %3 }"
(match_operand:VI248_AVX512VL 2 "register_operand" "v")
(match_operand:VI248_AVX512VL 3 "nonimmediate_operand" "vm")]
UNSPEC_VPSHLDV)
- (match_operand:VI248_AVX512VL 4 "const0_operand" "C")
+ (match_operand:VI248_AVX512VL 4 "const0_operand")
(match_operand:<avx512fmaskmode> 5 "register_operand" "Yk")))]
"TARGET_AVX512VBMI2"
"vpshldv<ssemodesuffix>\t{%3, %2, %0%{%5%}%{z%}|%0%{%5%}%{z%}, %2, %3 }"
(match_operand:VI4_AVX512VL 2 "register_operand" "v")
(match_operand:VI4_AVX512VL 3 "nonimmediate_operand" "vm")
] UNSPEC_VPMADDUBSWACCD)
- (match_operand:VI4_AVX512VL 4 "const0_operand" "C")
+ (match_operand:VI4_AVX512VL 4 "const0_operand")
(match_operand:<avx512fmaskmode> 5 "register_operand" "Yk")))]
"TARGET_AVX512VNNI"
"vpdpbusd\t{%3, %2, %0%{%5%}%{z%}|%0%{%5%}%{z%}, %2, %3 }"
(match_operand:VI4_AVX512VL 2 "register_operand" "v")
(match_operand:VI4_AVX512VL 3 "nonimmediate_operand" "vm")]
UNSPEC_VPMADDUBSWACCSSD)
- (match_operand:VI4_AVX512VL 4 "const0_operand" "C")
+ (match_operand:VI4_AVX512VL 4 "const0_operand")
(match_operand:<avx512fmaskmode> 5 "register_operand" "Yk")))]
"TARGET_AVX512VNNI"
"vpdpbusds\t{%3, %2, %0%{%5%}%{z%}|%0%{%5%}%{z%}, %2, %3 }"
(match_operand:VI4_AVX512VL 2 "register_operand" "v")
(match_operand:VI4_AVX512VL 3 "nonimmediate_operand" "vm")]
UNSPEC_VPMADDWDACCD)
- (match_operand:VI4_AVX512VL 4 "const0_operand" "C")
+ (match_operand:VI4_AVX512VL 4 "const0_operand")
(match_operand:<avx512fmaskmode> 5 "register_operand" "Yk")))]
"TARGET_AVX512VNNI"
"vpdpwssd\t{%3, %2, %0%{%5%}%{z%}|%0%{%5%}%{z%}, %2, %3 }"
(match_operand:VI4_AVX512VL 2 "register_operand" "v")
(match_operand:VI4_AVX512VL 3 "nonimmediate_operand" "vm")]
UNSPEC_VPMADDWDACCSSD)
- (match_operand:VI4_AVX512VL 4 "const0_operand" "C")
+ (match_operand:VI4_AVX512VL 4 "const0_operand")
(match_operand:<avx512fmaskmode> 5 "register_operand" "Yk")))]
"TARGET_AVX512VNNI"
"vpdpwssds\t{%3, %2, %0%{%5%}%{z%}|%0%{%5%}%{z%}, %2, %3 }"
[(set (match_operand:VI8_FVL 0 "register_operand" "=v")
(unspec:VI8_FVL [(match_operand:VI8_FVL 1 "register_operand" "v")
(match_operand:VI8_FVL 2 "vector_operand" "vm")
- (match_operand:SI 3 "const_0_to_255_operand" "n")]
+ (match_operand:SI 3 "const_0_to_255_operand")]
UNSPEC_VPCLMULQDQ))]
"TARGET_VPCLMULQDQ"
"vpclmulqdq\t{%3, %2, %1, %0|%0, %1, %2, %3}"