"%vlddqu\t{%1, %0|%0, %1}"
[(set_attr "isa" "noavx,avx")
(set_attr "type" "ssemov")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set_attr "movu" "1")
(set (attr "prefix_data16")
(if_then_else
"%vrcpps\t{%1, %0|%0, %1}"
[(set_attr "isa" "noavx,avx")
(set_attr "type" "sse")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set_attr "atom_sse_attr" "rcp")
(set_attr "btver2_sse_attr" "rcp")
(set_attr "prefix" "maybe_vex")
vrcpss\t{%1, %2, %0|%0, %2, %k1}"
[(set_attr "isa" "noavx,avx")
(set_attr "type" "sse")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set_attr "atom_sse_attr" "rcp")
(set_attr "btver2_sse_attr" "rcp")
(set_attr "prefix" "orig,vex")
vrcpss\t{%1, %2, %0|%0, %2, %1}"
[(set_attr "isa" "noavx,avx")
(set_attr "type" "sse")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set_attr "atom_sse_attr" "rcp")
(set_attr "btver2_sse_attr" "rcp")
(set_attr "prefix" "orig,vex")
"%vrsqrtps\t{%1, %0|%0, %1}"
[(set_attr "isa" "noavx,avx")
(set_attr "type" "sse")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set_attr "prefix" "maybe_vex")
(set_attr "mode" "<MODE>")])
vrsqrtss\t{%1, %2, %0|%0, %2, %k1}"
[(set_attr "isa" "noavx,avx")
(set_attr "type" "sse")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set_attr "prefix" "orig,vex")
(set_attr "mode" "SF")])
vrsqrtss\t{%1, %2, %0|%0, %2, %1}"
[(set_attr "isa" "noavx,avx")
(set_attr "type" "sse")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set_attr "prefix" "orig,vex")
(set_attr "mode" "SF")])
vaddsub<ssemodesuffix>\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,avx")
(set_attr "type" "sseadd")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set (attr "atom_unit")
(if_then_else
(match_test "<MODE>mode == V2DFmode")
"TARGET_AVX"
"vh<plusminus_mnemonic>pd\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "type" "sseadd")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix" "vex")
(set_attr "mode" "V4DF")])
haddpd\t{%2, %0|%0, %2}
vhaddpd\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,avx")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set_attr "type" "sseadd")
(set_attr "prefix" "orig,vex")
(set_attr "mode" "V2DF")])
vhsubpd\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,avx")
(set_attr "type" "sseadd")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set_attr "prefix" "orig,vex")
(set_attr "mode" "V2DF")])
"TARGET_AVX"
"vh<plusminus_mnemonic>ps\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "type" "sseadd")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix" "vex")
(set_attr "mode" "V8SF")])
vh<plusminus_mnemonic>ps\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,avx")
(set_attr "type" "sseadd")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set_attr "atom_unit" "complex")
(set_attr "prefix" "orig,vex")
(set_attr "prefix_rep" "1,*")
"TARGET_AVX"
"vcmp<ssemodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
[(set_attr "type" "ssecmp")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "length_immediate" "1")
(set_attr "prefix" "vex")
(set_attr "mode" "<MODE>")])
"TARGET_AVX"
"vcmp<ssescalarmodesuffix>\t{%3, %2, %1, %0|%0, %1, %<iptr>2, %3}"
[(set_attr "type" "ssecmp")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "length_immediate" "1")
(set_attr "prefix" "vex")
(set_attr "mode" "<ssescalarmode>")])
cmp%D3<ssemodesuffix>\t{%2, %0|%0, %2}
vcmp%D3<ssemodesuffix>\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,avx")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set_attr "type" "ssecmp")
(set_attr "length_immediate" "1")
(set_attr "prefix" "orig,vex")
cmp%D3<ssemodesuffix>\t{%2, %0|%0, %2}
vcmp%D3<ssemodesuffix>\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,avx")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set_attr "type" "ssecmp")
(set_attr "length_immediate" "1")
(set_attr "prefix" "orig,vex")
cmp%D3<ssescalarmodesuffix>\t{%2, %0|%0, %<iptr>2}
vcmp%D3<ssescalarmodesuffix>\t{%2, %1, %0|%0, %1, %<iptr>2}"
[(set_attr "isa" "noavx,avx")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set_attr "type" "ssecmp")
(set_attr "length_immediate" "1,*")
(set_attr "prefix" "orig,vex")
return "";
}
[(set_attr "isa" "noavx,avx_noavx512f,avx512dq,avx512f")
- (set_attr "gpr32" "1,0,1,1")
+ (set_attr "addr" "*,gpr16,*,*")
(set_attr "type" "sselog")
(set_attr "prefix" "orig,maybe_vex,evex,evex")
(set (attr "mode")
return "";
}
[(set_attr "isa" "noavx,avx_noavx512f,avx512vl,avx512f_512")
- (set_attr "gpr32" "1,0,1,1")
+ (set_attr "addr" "*,gpr16,*,*")
(set_attr "type" "sselog")
(set (attr "prefix_data16")
(if_then_else
(if_then_else (eq_attr "alternative" "7,8")
(const_string "native")
(const_string "*")))
- (set (attr "gpr32")
+ (set (attr "addr")
(if_then_else (eq_attr "alternative" "3,4")
- (const_string "0")
- (const_string "1")))
+ (const_string "gpr16")
+ (const_string "*")))
(set (attr "prefix_data16")
(if_then_else (eq_attr "alternative" "3,4")
(const_string "1")
(const_string "fmov")
]
(const_string "ssemov")))
- (set (attr "gpr32")
+ (set (attr "addr")
(if_then_else (eq_attr "alternative" "8,9")
- (const_string "0")
- (const_string "1")))
+ (const_string "gpr16")
+ (const_string "*")))
(set (attr "prefix_extra")
(if_then_else (eq_attr "alternative" "8,9,10")
(const_string "1")
}
[(set_attr "isa" "noavx,noavx,avx")
(set_attr "type" "sselog")
- (set_attr "gpr32" "0,0,1")
+ (set_attr "addr" "gpr16,gpr16,*")
(set_attr "prefix_data16" "1,1,*")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
}
}
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")
+ (set_attr "addr" "gpr16,gpr16,*")
(set_attr "type" "sselog")
(set_attr "prefix_data16" "1,1,*")
(set_attr "prefix_extra" "1")
DONE;
}
[(set_attr "isa" "noavx,noavx,avx,noavx,avx")
- (set_attr "gpr32" "0,0,1,1,1")
+ (set_attr "addr" "gpr16,gpr16,*,*,*")
(set_attr "type" "sselog,sselog,sselog,*,*")
(set_attr "prefix_data16" "1,1,1,*,*")
(set_attr "prefix_extra" "1,1,1,*,*")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
(set_attr "isa" "noavx512vl,avx512vl")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "prefix" "vex,evex")
(set_attr "mode" "OI")])
}
}
[(set_attr "isa" "*,sse4_noavx,avx,noavx,avx")
- (set_attr "gpr32" "1,0,1,1,1")
+ (set_attr "addr" "*,gpr16,*,*,*")
(set_attr "type" "sselog1,sselog1,sselog1,sseishft1,sseishft1")
(set_attr "prefix" "maybe_evex")
(set_attr "mode" "TI")])
pmuldq\t{%2, %0|%0, %2}
vpmuldq\t{%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2}"
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")
+ (set_attr "addr" "gpr16,gpr16,*")
(set_attr "type" "sseimul")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,orig,vex")
pmulld\t{%2, %0|%0, %2}
vpmulld\t{%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2}"
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")
+ (set_attr "addr" "gpr16,gpr16,*")
(set_attr "type" "sseimul")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "<bcst_mask_prefix4>")
[(set_attr "isa" "noavx,noavx,avx")
(set_attr "type" "sseiadd")
(set_attr "prefix_extra" "1")
- (set_attr "gpr32" "0,0,1")
+ (set_attr "addr" "gpr16,gpr16,*")
(set_attr "prefix" "orig,orig,vex")
(set_attr "mode" "TI")])
vp<maxmin_int>w\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,avx")
(set_attr "type" "sseiadd")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "prefix" "orig,vex")
(set_attr "mode" "TI")])
vp<maxmin_int><ssemodesuffix>\t{%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2}"
[(set_attr "isa" "noavx,noavx,avx")
(set_attr "type" "sseiadd")
- (set_attr "gpr32" "0,0,1")
+ (set_attr "addr" "gpr16,gpr16,*")
(set_attr "prefix_extra" "1,1,*")
(set_attr "prefix" "orig,orig,vex")
(set_attr "mode" "TI")])
p<maxmin_int>b\t{%2, %0|%0, %2}
vp<maxmin_int>b\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,avx")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "type" "sseiadd")
(set_attr "prefix" "orig,vex")
(set_attr "mode" "TI")])
(if_then_else (eq (const_string "<MODE>mode") (const_string "V4DImode"))
(const_string "1")
(const_string "*")))
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix" "vex")
(set_attr "mode" "OI")])
vpcmpeqq\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,noavx,avx")
(set_attr "type" "ssecmp")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,orig,vex")
(set_attr "mode" "TI")])
pcmpeq<ssemodesuffix>\t{%2, %0|%0, %2}
vpcmpeq<ssemodesuffix>\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,avx")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set_attr "type" "ssecmp")
(set_attr "prefix" "orig,vex")
(set_attr "mode" "TI")])
vpcmpgtq\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,noavx,avx")
(set_attr "type" "ssecmp")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,orig,vex")
(set_attr "mode" "TI")])
(if_then_else (eq (const_string "<MODE>mode") (const_string "V4DImode"))
(const_string "1")
(const_string "*")))
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix" "vex")
(set_attr "mode" "OI")])
pcmpgt<ssemodesuffix>\t{%2, %0|%0, %2}
vpcmpgt<ssemodesuffix>\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,avx")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set_attr "type" "ssecmp")
(set_attr "prefix" "orig,vex")
(set_attr "mode" "TI")])
return "";
}
[(set_attr "isa" "noavx,avx_noavx512f,avx512f,*,*")
- (set_attr "gpr32" "1,0,1,1,1")
+ (set_attr "addr" "*,gpr16,*,*,*")
(set_attr "type" "sselog")
(set (attr "prefix_data16")
(if_then_else
return "";
}
[(set_attr "isa" "noavx,avx_noavx512f,avx512f")
- (set_attr "gpr32" "1,0,1")
+ (set_attr "addr" "*,gpr16,*")
(set_attr "type" "sselog")
(set (attr "prefix_data16")
(if_then_else
return "";
}
[(set_attr "isa" "noavx,avx_noavx512f,avx512f")
- (set_attr "gpr32" "1,0,1")
+ (set_attr "addr" "*,gpr16,*")
(set_attr "type" "sselog")
(set (attr "prefix_data16")
(if_then_else
vp<logic>\t{%2, %1, %0|%0, %1, %2}
vp<logic>d\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,avx_noavx512vl,avx512vl")
- (set_attr "gpr32" "1,0,1")
+ (set_attr "addr" "*,gpr16,*")
(set_attr "prefix" "orig,vex,evex")
(set_attr "prefix_data16" "1,*,*")
(set_attr "type" "sselog")
}
[(set_attr "isa" "noavx,noavx,avx,avx,<pinsr_evex_isa>,<pinsr_evex_isa>,avx2")
(set_attr "type" "sselog")
- (set_attr "gpr32" "0,0,1,1,1,1,1")
+ (set (attr "addr")
+ (if_then_else (eq_attr "alternative" "0,1")
+ (const_string "gpr16")
+ (const_string "*")))
(set (attr "prefix_rex")
(if_then_else
(and (not (match_test "TARGET_AVX"))
pextr<ssemodesuffix>\t{%2, %1, %0|%0, %1, %2}
vpextr<ssemodesuffix>\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "sse2_noavx,avx,sse4_noavx,avx")
- (set_attr "gpr32" "1,1,0,1")
+ (set_attr "addr" "*,*,gpr16,*")
(set_attr "type" "sselog1")
(set (attr "prefix_extra")
(if_then_else
}
[(set_attr "isa" "noavx,avx,avx512dq,noavx,noavx,avx")
(set_attr "type" "sselog1,sselog1,sselog1,sseishft1,sseishft1,sseishft1")
- (set_attr "gpr32" "0,1,1,1,1,1")
+ (set (attr "addr")
+ (if_then_else (eq_attr "alternative" "0")
+ (const_string "gpr16")
+ (const_string "*")))
(set (attr "prefix_extra")
(if_then_else (eq_attr "alternative" "0,1")
(const_string "1")
(const_string "imov")
]
(const_string "sselog1")))
- (set_attr "gpr32" "0,1,1,1,1,1,1,1,1,1")
+ (set (attr "addr")
+ (if_then_else (eq_attr "alternative" "0")
+ (const_string "gpr16")
+ (const_string "*")))
(set (attr "length_immediate")
(if_then_else (eq_attr "alternative" "0,1,2,4,5,6")
(const_string "1")
(const_string "mmxmov")
]
(const_string "sselog")))
- (set (attr "gpr32")
+ (set (attr "addr")
(if_then_else (eq_attr "alternative" "0,1")
- (const_string "0")
- (const_string "1")))
+ (const_string "gpr16")
+ (const_string "*")))
(set (attr "prefix_extra")
(if_then_else (eq_attr "alternative" "0,1,2,3")
(const_string "1")
(eq_attr "alternative" "0,1,2,3,4,5")
(const_string "sselog")
(const_string "ssemov")))
- (set (attr "gpr32")
+ (set (attr "addr")
(if_then_else (eq_attr "alternative" "0,1")
- (const_string "0")
- (const_string "1")))
+ (const_string "gpr16")
+ (const_string "*")))
(set (attr "prefix_rex")
(if_then_else (eq_attr "alternative" "0,1,2,3")
(const_string "1")
"%vldmxcsr\t%0"
[(set_attr "isa" "noavx,avx")
(set_attr "type" "sse")
- (set_attr "gpr32" "1,0")
+ (set_attr "addr" "*,gpr16")
(set_attr "atom_sse_attr" "mxcsr")
(set_attr "prefix" "maybe_vex")
(set_attr "memory" "load")])
"%vstmxcsr\t%0"
[(set_attr "isa" "noavx,avx")
(set_attr "type" "sse")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "atom_sse_attr" "mxcsr")
(set_attr "prefix" "maybe_vex")
(set_attr "memory" "store")])
"TARGET_AVX2"
"vph<plusminus_mnemonic>w\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "type" "sseiadd")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "vex")
(set_attr "mode" "OI")])
vph<plusminus_mnemonic>w\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,avx")
(set_attr "type" "sseiadd")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "atom_unit" "complex")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,vex")
"TARGET_AVX2"
"vph<plusminus_mnemonic>d\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "type" "sseiadd")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "vex")
(set_attr "mode" "OI")])
vph<plusminus_mnemonic>d\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,avx")
(set_attr "type" "sseiadd")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "atom_unit" "complex")
(set_attr "prefix_data16" "1,*")
(set_attr "prefix_extra" "1")
}
[(set_attr "mmx_isa" "native,sse_noavx,avx")
(set_attr "type" "sseiadd")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "atom_unit" "complex")
(set_attr "prefix_extra" "1")
(set (attr "prefix_rex") (symbol_ref "x86_extended_reg_mentioned_p (insn)"))
pmaddubsw\t{%2, %0|%0, %2}
vpmaddubsw\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,avx")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "type" "sseiadd")
(set_attr "atom_unit" "simul")
(set_attr "prefix_extra" "1")
pmulhrsw\t{%2, %0|%0, %2}
vpmulhrsw\t{%2, %1, %0<mask_operand4>|%0<mask_operand4>, %1, %2}"
[(set_attr "isa" "noavx,avx")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "type" "sseimul")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,maybe_evex")
pshufb\t{%2, %0|%0, %2}
vpshufb\t{%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2}"
[(set_attr "isa" "noavx,avx")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "type" "sselog1")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,maybe_evex")
vpsign<ssemodesuffix>\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,avx")
(set_attr "type" "sselog1")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,vex")
(set_attr "mode" "<sseinsnmode>")])
}
}
[(set_attr "isa" "noavx,avx")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "type" "sseishft")
(set_attr "atom_unit" "sishuf")
(set_attr "prefix_extra" "1")
}
[(set_attr "mmx_isa" "native,sse_noavx,avx")
(set_attr "type" "sseishft")
- (set_attr "gpr32" "0,0,1")
+ (set_attr "addr" "gpr16,gpr16,*")
(set_attr "atom_unit" "sishuf")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
"TARGET_SSSE3"
"%vpabs<ssemodesuffix>\t{%1, %0|%0, %1}"
[(set_attr "isa" "noavx,avx")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "type" "sselog1")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "maybe_vex")
vblend<ssemodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
[(set_attr "isa" "noavx,noavx,avx")
(set_attr "type" "ssemov")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "length_immediate" "1")
(set_attr "prefix_data16" "1,1,*")
(set_attr "prefix_extra" "1")
vblendv<ssemodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
[(set_attr "isa" "noavx,noavx,avx")
(set_attr "type" "ssemov")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "length_immediate" "1")
(set_attr "prefix_data16" "1,1,*")
(set_attr "prefix_extra" "1")
"operands[3] = gen_lowpart (<MODE>mode, operands[3]);"
[(set_attr "isa" "noavx,noavx,avx")
(set_attr "type" "ssemov")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "length_immediate" "1")
(set_attr "prefix_data16" "1,1,*")
(set_attr "prefix_extra" "1")
}
[(set_attr "isa" "noavx,noavx,avx")
(set_attr "type" "ssemov")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "length_immediate" "1")
(set_attr "prefix_data16" "1,1,*")
(set_attr "prefix_extra" "1")
vdp<ssemodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
[(set_attr "isa" "noavx,noavx,avx")
(set_attr "type" "ssemul")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "length_immediate" "1")
(set_attr "prefix_data16" "1,1,*")
(set_attr "prefix_extra" "1")
"TARGET_SSE4_1"
"%vmovntdqa\t{%1, %0|%0, %1}"
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")
+ (set_attr "addr" "gpr16,gpr16,*")
(set_attr "type" "ssemov")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,orig,maybe_evex")
mpsadbw\t{%3, %2, %0|%0, %2, %3}
vmpsadbw\t{%3, %2, %1, %0|%0, %1, %2, %3}"
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")
+ (set_attr "addr" "gpr16")
(set_attr "type" "sselog1")
- (set_attr "gpr32" "0")
(set_attr "length_immediate" "1")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,orig,vex")
packusdw\t{%2, %0|%0, %2}
vpackusdw\t{%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2}"
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")
+ (set_attr "addr" "gpr16,gpr16,*")
(set_attr "type" "sselog")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,orig,<mask_prefix>")
vpblendvb\t{%3, %2, %1, %0|%0, %1, %2, %3}"
[(set_attr "isa" "noavx,noavx,avx")
(set_attr "type" "ssemov")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "*,*,1")
(set_attr "prefix" "orig,orig,vex")
""
[(set_attr "isa" "noavx,noavx,avx")
(set_attr "type" "ssemov")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "*,*,1")
(set_attr "prefix" "orig,orig,vex")
vpblendw\t{%3, %2, %1, %0|%0, %1, %2, %3}"
[(set_attr "isa" "noavx,noavx,avx")
(set_attr "type" "ssemov")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
(set_attr "prefix" "orig,orig,vex")
return "vpblendw\t{%3, %2, %1, %0|%0, %1, %2, %3}";
}
[(set_attr "type" "ssemov")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
(set_attr "prefix" "vex")
"TARGET_SSE4_1"
"%vphminposuw\t{%1, %0|%0, %1}"
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "type" "sselog1")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,orig,vex")
pmov<extsuffix>bw\t{%1, %0|%0, %1}
vpmov<extsuffix>bw\t{%1, %0<mask_operand2>|%0<mask_operand2>, %1}"
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")
+ (set_attr "addr" "gpr16,gpr16,*")
(set_attr "type" "ssemov")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,orig,maybe_evex")
}
}
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")])
+ (set_attr "addr" "gpr16,gpr16,*")])
(define_insn_and_split "*sse4_1_zero_extendv8qiv8hi2_4"
[(set (match_operand:V16QI 0 "register_operand" "=Yr,*x,Yw")
operands[1] = lowpart_subreg (V16QImode, operands[1], <ssehalfvecmode>mode);
}
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")])
+ (set_attr "addr" "gpr16,gpr16,*")])
(define_expand "<insn>v8qiv8hi2"
[(set (match_operand:V8HI 0 "register_operand")
"TARGET_SSE4_1 && <mask_avx512vl_condition>"
"%vpmov<extsuffix>bd\t{%1, %0<mask_operand2>|%0<mask_operand2>, %1}"
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")
+ (set_attr "addr" "gpr16,gpr16,*")
(set_attr "type" "ssemov")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,orig,maybe_evex")
"TARGET_SSE4_1 && <mask_avx512vl_condition>"
"%vpmov<extsuffix>wd\t{%1, %0<mask_operand2>|%0<mask_operand2>, %1}"
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")
+ (set_attr "addr" "gpr16,gpr16,*")
(set_attr "type" "ssemov")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,orig,maybe_evex")
}
}
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")])
+ (set_attr "addr" "gpr16,gpr16,*")])
(define_insn_and_split "*sse4_1_zero_extendv4hiv4si2_4"
[(set (match_operand:V8HI 0 "register_operand" "=Yr,*x,v")
operands[1] = lowpart_subreg (V8HImode, operands[1], <ssehalfvecmode>mode);
}
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")])
+ (set_attr "addr" "gpr16,gpr16,*")])
(define_insn "avx512f_<code>v8qiv8di2<mask_name>"
[(set (match_operand:V8DI 0 "register_operand" "=v")
"TARGET_SSE4_1 && <mask_avx512vl_condition>"
"%vpmov<extsuffix>bq\t{%1, %0<mask_operand2>|%0<mask_operand2>, %1}"
[(set_attr "isa" "noavx,avx")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "type" "ssemov")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "maybe_evex")
"TARGET_SSE4_1 && <mask_avx512vl_condition>"
"%vpmov<extsuffix>wq\t{%1, %0<mask_operand2>|%0<mask_operand2>, %1}"
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")
+ (set_attr "addr" "gpr16,gpr16,*")
(set_attr "type" "ssemov")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,orig,maybe_evex")
"TARGET_SSE4_1 && <mask_avx512vl_condition>"
"%vpmov<extsuffix>dq\t{%1, %0<mask_operand2>|%0<mask_operand2>, %1}"
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")
+ (set_attr "addr" "gpr16,gpr16,*")
(set_attr "type" "ssemov")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,orig,maybe_evex")
}
}
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")])
+ (set_attr "addr" "gpr16,gpr16,*")])
(define_insn_and_split "*sse4_1_zero_extendv2siv2di2_4"
[(set (match_operand:V4SI 0 "register_operand" "=Yr,*x,v")
operands[1] = lowpart_subreg (V4SImode, operands[1], V2SImode);
}
[(set_attr "isa" "noavx,noavx,avx")
- (set_attr "gpr32" "0,0,1")])
+ (set_attr "addr" "gpr16,gpr16,*")])
(define_expand "<insn>v2siv2di2"
[(set (match_operand:V2DI 0 "register_operand")
"TARGET_AVX"
"vtest<ssemodesuffix>\t{%1, %0|%0, %1}"
[(set_attr "type" "ssecomi")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "vex")
(set_attr "mode" "<MODE>")])
"%vptest\t{%1, %0|%0, %1}"
[(set_attr "isa" "noavx,noavx,avx")
(set_attr "type" "ssecomi")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,orig,vex")
(set (attr "btver2_decode")
"%vptest\t{%1, %0|%0, %1}"
[(set_attr "isa" "noavx,noavx,avx")
(set_attr "type" "ssecomi")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,orig,vex")
(set_attr "mode" "TI")])
"%vround<ssemodesuffix>\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,noavx,avx")
(set_attr "type" "ssecvt")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_data16" "1,1,*")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
}
[(set_attr "isa" "noavx,noavx,noavx512f,avx512f")
(set_attr "type" "ssecvt")
- (set_attr "gpr32" "0,0,0,1")
+ (set_attr "addr" "gpr16,gpr16,gpr16,*")
(set_attr "length_immediate" "1")
(set_attr "prefix_data16" "1,1,*,*")
(set_attr "prefix_extra" "1")
}
[(set_attr "isa" "noavx,noavx,noavx512f,avx512f")
(set_attr "type" "ssecvt")
- (set_attr "gpr32" "0,0,0,1")
+ (set_attr "addr" "gpr16,gpr16,gpr16,*")
(set_attr "length_immediate" "1")
(set_attr "prefix_data16" "1,1,*,*")
(set_attr "prefix_extra" "1")
"TARGET_SSE4_2"
"%vpcmpestri\t{%5, %3, %1|%1, %3, %5}"
[(set_attr "type" "sselog")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "maybe_vex")
(set_attr "length_immediate" "1")
"TARGET_SSE4_2"
"%vpcmpestrm\t{%5, %3, %1|%1, %3, %5}"
[(set_attr "type" "sselog")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
(set_attr "prefix" "maybe_vex")
%vpcmpestri\t{%6, %4, %2|%2, %4, %6}
%vpcmpestri\t{%6, %4, %2|%2, %4, %6}"
[(set_attr "type" "sselog")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
(set_attr "memory" "none,load,none,load")
DONE;
}
[(set_attr "type" "sselog")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
(set_attr "memory" "none,load")
"TARGET_SSE4_2"
"%vpcmpistri\t{%3, %2, %1|%1, %2, %3}"
[(set_attr "type" "sselog")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
(set_attr "prefix" "maybe_vex")
"TARGET_SSE4_2"
"%vpcmpistrm\t{%3, %2, %1|%1, %2, %3}"
[(set_attr "type" "sselog")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
(set_attr "prefix" "maybe_vex")
%vpcmpistri\t{%4, %3, %2|%2, %3, %4}
%vpcmpistri\t{%4, %3, %2|%2, %3, %4}"
[(set_attr "type" "sselog")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
(set_attr "memory" "none,load,none,load")
vaesenc\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,aes,avx512vl")
(set_attr "type" "sselog1")
- (set_attr "gpr32" "0,1,1")
+ (set_attr "addr" "gpr16,*,*")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,vex,evex")
(set_attr "btver2_decode" "double,double,double")
vaesenclast\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,aes,avx512vl")
(set_attr "type" "sselog1")
- (set_attr "gpr32" "0,1,1")
+ (set_attr "addr" "gpr16,*,*")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,vex,evex")
(set_attr "btver2_decode" "double,double,double")
vaesdec\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,aes,avx512vl")
(set_attr "type" "sselog1")
- (set_attr "gpr32" "0,1,1")
+ (set_attr "addr" "gpr16,*,*")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,vex,evex")
(set_attr "btver2_decode" "double,double,double")
vaesdeclast\t{%2, %1, %0|%0, %1, %2}
vaesdeclast\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "isa" "noavx,aes,avx512vl")
- (set_attr "gpr32" "0,1,1")
+ (set_attr "addr" "gpr16,*,*")
(set_attr "type" "sselog1")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,vex,evex")
"TARGET_AES"
"%vaesimc\t{%1, %0|%0, %1}"
[(set_attr "type" "sselog1")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "maybe_vex")
(set_attr "mode" "TI")])
"TARGET_AES"
"%vaeskeygenassist\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "type" "sselog1")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
(set_attr "prefix" "maybe_vex")
vpclmulqdq\t{%3, %2, %1, %0|%0, %1, %2, %3}"
[(set_attr "isa" "noavx,avx,vpclmulqdqvl")
(set_attr "type" "sselog1")
- (set_attr "gpr32" "0,1,1")
+ (set_attr "addr" "gpr16,*,*")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
(set_attr "prefix" "orig,vex,evex")
(set_attr "mode" "<sseinsnmode>")])
;; TODO (APX): vmovaps supports EGPR but not others, could split
-;; pattern to enable gpr32 for this one.
+;; pattern to enable rex2 address for this one.
(define_insn "avx2_permv2ti"
[(set (match_operand:V4DI 0 "register_operand" "=x")
(unspec:V4DI
return "vperm2i128\t{%3, %2, %1, %0|%0, %1, %2, %3}";
}
[(set_attr "type" "sselog")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix" "vex")
(set_attr "mode" "OI")])
vinsert<shuffletype>32x4\t{$1, %1, %0, %0|%0, %0, %1, 1}"
[(set_attr "isa" "noavx512vl,*,*,avx512dq,avx512dq,avx512vl,avx512vl")
(set_attr "type" "ssemov,sselog1,sselog1,ssemov,sselog1,ssemov,sselog1")
- (set_attr "gpr32" "0,1,1,1,1,1,1")
+ (set (attr "addr")
+ (if_then_else (eq_attr "alternative" "0")
+ (const_string "gpr16")
+ (const_string "*")))
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "0,1,1,0,1,0,1")
(set_attr "prefix" "vex,vex,vex,evex,evex,evex,evex")
"TARGET_AVX"
"vperm2<i128>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
[(set_attr "type" "sselog")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
(set_attr "prefix" "vex")
return "vperm2<i128>\t{%3, %2, %1, %0|%0, %1, %2, %3}";
}
[(set_attr "type" "sselog")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
(set_attr "prefix" "vex")
return "vinsert<i128>\t{$0x0, %2, %1, %0|%0, %1, %2, 0x0}";
}
[(set_attr "isa" "noavx512vl,avx512vl")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "type" "sselog")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
return "vinsert<i128>\t{$0x0, %2, %1, %0|%0, %1, %2, 0x0}";
}
[(set_attr "isa" "noavx512vl,avx512vl")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "type" "sselog")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
return "vinsert<i128>\t{$0x1, %2, %1, %0|%0, %1, %2, 0x1}";
}
[(set_attr "isa" "noavx512vl,avx512vl")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "type" "sselog")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
vinsert%~128\t{$0x0, %2, %1, %0|%0, %1, %2, 0x0}
vinserti32x4\t{$0x0, %2, %1, %0|%0, %1, %2, 0x0}"
[(set_attr "isa" "noavx512vl,avx512vl")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "type" "sselog")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
vinsert%~128\t{$0x1, %2, %1, %0|%0, %1, %2, 0x1}
vinserti32x4\t{$0x1, %2, %1, %0|%0, %1, %2, 0x1}"
[(set_attr "isa" "noavx512vl,avx512vl")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "type" "sselog")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
vinserti32x4\t{$0x0, %2, %1, %0|%0, %1, %2, 0x0}"
[(set_attr "isa" "noavx512vl,avx512vl")
(set_attr "type" "sselog")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
(set_attr "prefix" "vex,evex")
vinsert%~128\t{$0x1, %2, %1, %0|%0, %1, %2, 0x1}
vinserti32x4\t{$0x1, %2, %1, %0|%0, %1, %2, 0x1}"
[(set_attr "isa" "noavx512vl,avx512vl")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "type" "sselog")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
return "vmaskmov<ssefltmodesuffix>\t{%1, %2, %0|%0, %2, %1}";
}
[(set_attr "type" "sselog1")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "vex")
(set_attr "btver2_decode" "vector")
return "vmaskmov<ssefltmodesuffix>\t{%2, %1, %0|%0, %1, %2}";
}
[(set_attr "type" "sselog1")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "vex")
(set_attr "btver2_decode" "vector")
}
}
[(set_attr "isa" "noavx512f,avx512f,*,*")
- (set_attr "gpr32" "0,1,1,1")
+ (set_attr "addr" "gpr16,*,*,*")
(set_attr "type" "sselog,sselog,ssemov,ssemov")
(set_attr "prefix_extra" "1,1,*,*")
(set_attr "length_immediate" "1,1,*,*")
"TARGET_AVX2"
"%M3v<sseintprefix>gatherd<ssemodesuffix>\t{%1, %7, %0|%0, %7, %1}"
[(set_attr "type" "ssemov")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix" "vex")
(set_attr "mode" "<sseinsnmode>")])
"TARGET_AVX2"
"%M2v<sseintprefix>gatherd<ssemodesuffix>\t{%1, %6, %0|%0, %6, %1}"
[(set_attr "type" "ssemov")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix" "vex")
(set_attr "mode" "<sseinsnmode>")])
"TARGET_AVX2"
"%M3v<sseintprefix>gatherq<ssemodesuffix>\t{%5, %7, %2|%2, %7, %5}"
[(set_attr "type" "ssemov")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix" "vex")
(set_attr "mode" "<sseinsnmode>")])
return "%M2v<sseintprefix>gatherq<ssemodesuffix>\t{%4, %6, %0|%0, %6, %4}";
}
[(set_attr "type" "ssemov")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix" "vex")
(set_attr "mode" "<sseinsnmode>")])
"TARGET_AVX2"
"%M3v<sseintprefix>gatherq<ssemodesuffix>\t{%5, %7, %0|%0, %7, %5}"
[(set_attr "type" "ssemov")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix" "vex")
(set_attr "mode" "<sseinsnmode>")])
"TARGET_AVX2"
"%M2v<sseintprefix>gatherq<ssemodesuffix>\t{%4, %6, %0|%0, %6, %4}"
[(set_attr "type" "ssemov")
- (set_attr "gpr32" "0")
+ (set_attr "addr" "gpr16")
(set_attr "prefix" "vex")
(set_attr "mode" "<sseinsnmode>")])
gf2p8affineinvqb\t{%3, %2, %0| %0, %2, %3}
vgf2p8affineinvqb\t{%3, %2, %1, %0<mask_operand4>| %0<mask_operand4>, %1, %2, %3}"
[(set_attr "isa" "noavx,avx")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,maybe_evex")
(set_attr "mode" "<sseinsnmode>")])
gf2p8affineqb\t{%3, %2, %0| %0, %2, %3}
vgf2p8affineqb\t{%3, %2, %1, %0<mask_operand4>| %0<mask_operand4>, %1, %2, %3}"
[(set_attr "isa" "noavx,avx")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,maybe_evex")
(set_attr "mode" "<sseinsnmode>")])
gf2p8mulb\t{%2, %0| %0, %2}
vgf2p8mulb\t{%2, %1, %0<mask_operand3>| %0<mask_operand3>, %1, %2}"
[(set_attr "isa" "noavx,avx")
- (set_attr "gpr32" "0,1")
+ (set_attr "addr" "gpr16,*")
(set_attr "prefix_extra" "1")
(set_attr "prefix" "orig,maybe_evex")
(set_attr "mode" "<sseinsnmode>")])