aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386/i386.md
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/i386/i386.md')
-rw-r--r--gcc/config/i386/i386.md22
1 files changed, 13 insertions, 9 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 8c7beaf..f7f790d 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -984,7 +984,7 @@
(symbol_ref "TARGET_APX_NDD && Pmode == DImode")
(eq_attr "isa" "vaes_avx512vl")
(symbol_ref "TARGET_VAES && TARGET_AVX512VL")
- (eq_attr "isa" "avx10_2") (symbol_ref "TARGET_AVX10_2_256")
+ (eq_attr "isa" "avx10_2") (symbol_ref "TARGET_AVX10_2")
(eq_attr "mmx_isa" "native")
(symbol_ref "!TARGET_MMX_WITH_SSE")
@@ -1819,7 +1819,7 @@
(pc)))]
"TARGET_80387 || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)"
{
- if (TARGET_AVX10_2_256 && !flag_trapping_math)
+ if (TARGET_AVX10_2 && !flag_trapping_math)
ix86_expand_branch (GET_CODE (operands[0]),
operands[1], operands[2], operands[3]);
else
@@ -1861,7 +1861,7 @@
"TARGET_80387 || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)"
{
rtx op2 = operands[2], op3 = operands[3];
- if (!TARGET_AVX10_2_256 || flag_trapping_math)
+ if (!TARGET_AVX10_2 || flag_trapping_math)
{
op2 = ix86_expand_fast_convert_bf_to_sf (operands[2]);
op3 = ix86_expand_fast_convert_bf_to_sf (operands[3]);
@@ -2042,7 +2042,7 @@
(match_operand:MODEF 0 "register_operand" "v")
(match_operand:MODEF 1 "nonimmediate_operand" "vm"))]
UNSPEC_OPTCOMX))]
- "TARGET_AVX10_2_256"
+ "TARGET_AVX10_2"
"%v<unord>comx<MODEF:ssemodesuffix>\t{%1, %0|%0, %1}"
[(set_attr "type" "ssecomi")
(set_attr "prefix" "evex")
@@ -2055,7 +2055,7 @@
(match_operand:HF 0 "register_operand" "v")
(match_operand:HF 1 "nonimmediate_operand" "vm"))]
UNSPEC_OPTCOMX))]
- "TARGET_AVX10_2_256"
+ "TARGET_AVX10_2"
"v<unord>comxsh\t{%1, %0|%0, %1}"
[(set_attr "type" "ssecomi")
(set_attr "prefix" "evex")
@@ -2114,7 +2114,7 @@
(compare:CCFP
(match_operand:BF 0 "register_operand" "v")
(match_operand:BF 1 "nonimmediate_operand" "vm")))]
- "TARGET_AVX10_2_256"
+ "TARGET_AVX10_2"
"vcomisbf16\t{%1, %0|%0, %1}"
[(set_attr "type" "ssecomi")
(set_attr "prefix" "evex")
@@ -12411,7 +12411,9 @@
(and:SWI248 (match_operand:SWI248 0 "memory_operand")
(match_operand 1 "const_int_operand"))
(const_int 0)))]
- "!TARGET_PARTIAL_MEMORY_READ_STALL && !MEM_VOLATILE_P (operands[0])"
+ "!TARGET_PARTIAL_MEMORY_READ_STALL
+ && !MEM_VOLATILE_P (operands[0])
+ && offsettable_memref_p (operands[0])"
[(set (reg:CCZ FLAGS_REG)
(compare:CCZ (match_dup 2) (const_int 0)))]
{
@@ -18168,7 +18170,8 @@
[(set (match_dup 4) (match_dup 1))
(set (match_dup 0)
(any_rotate:SWI (match_dup 4)
- (subreg:QI (match_dup 2) 0)))]
+ (subreg:QI
+ (and:SI (match_dup 2) (match_dup 3)) 0)))]
"operands[4] = gen_reg_rtx (<MODE>mode);")
(define_insn_and_split "*<insn><mode>3_mask_1"
@@ -18202,7 +18205,8 @@
== GET_MODE_BITSIZE (<MODE>mode) - 1"
[(set (match_dup 4) (match_dup 1))
(set (match_dup 0)
- (any_rotate:SWI (match_dup 4) (match_dup 2)))]
+ (any_rotate:SWI (match_dup 4)
+ (and:QI (match_dup 2) (match_dup 3))))]
"operands[4] = gen_reg_rtx (<MODE>mode);")
(define_insn_and_split "*<insn><mode>3_add"