diff options
author | Jan Beulich <jbeulich@suse.com> | 2023-08-07 11:46:44 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2023-08-07 11:46:44 +0200 |
commit | 0e877fd1b64626bca77395b481f00d65dc442ec3 (patch) | |
tree | 7d4e08c9719e2c5053a0cffb27cc7ef516c0108e | |
parent | 9ac69f2d92d6efde2d31f08d400fc1ec9a0b2d39 (diff) | |
download | gcc-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.md | 9 |
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") |