aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2023-08-07 11:46:44 +0200
committerJan Beulich <jbeulich@suse.com>2023-08-07 11:46:44 +0200
commit0e877fd1b64626bca77395b481f00d65dc442ec3 (patch)
tree7d4e08c9719e2c5053a0cffb27cc7ef516c0108e
parent9ac69f2d92d6efde2d31f08d400fc1ec9a0b2d39 (diff)
downloadgcc-0e877fd1b64626bca77395b481f00d65dc442ec3.zip
gcc-0e877fd1b64626bca77395b481f00d65dc442ec3.tar.gz
gcc-0e877fd1b64626bca77395b481f00d65dc442ec3.tar.bz2
x86: "prefix_extra" can't really be "2"
In the three remaining instances separate "prefix_0f" and "prefix_rep" are what is wanted instead. gcc/ * config/i386/i386.md (rd<fsgs>base<mode>): Add "prefix_0f" and "prefix_rep". Drop "prefix_extra". (wr<fsgs>base<mode>): Likewise. (ptwrite<mode>): Likewise.
-rw-r--r--gcc/config/i386/i386.md9
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 9446ec3..3a1973d 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -25920,7 +25920,8 @@
"TARGET_64BIT && TARGET_FSGSBASE"
"rd<fsgs>base\t%0"
[(set_attr "type" "other")
- (set_attr "prefix_extra" "2")])
+ (set_attr "prefix_0f" "1")
+ (set_attr "prefix_rep" "1")])
(define_insn "wr<fsgs>base<mode>"
[(unspec_volatile [(match_operand:SWI48 0 "register_operand" "r")]
@@ -25928,7 +25929,8 @@
"TARGET_64BIT && TARGET_FSGSBASE"
"wr<fsgs>base\t%0"
[(set_attr "type" "other")
- (set_attr "prefix_extra" "2")])
+ (set_attr "prefix_0f" "1")
+ (set_attr "prefix_rep" "1")])
(define_insn "ptwrite<mode>"
[(unspec_volatile [(match_operand:SWI48 0 "nonimmediate_operand" "rm")]
@@ -25936,7 +25938,8 @@
"TARGET_PTWRITE"
"ptwrite\t%0"
[(set_attr "type" "other")
- (set_attr "prefix_extra" "2")])
+ (set_attr "prefix_0f" "1")
+ (set_attr "prefix_rep" "1")])
(define_insn "@rdrand<mode>"
[(set (match_operand:SWI248 0 "register_operand" "=r")